关于链表,队列 ,栈,散列表,树,图

本文深入探讨了链表的三种形式——单链表、循环链表与双向链表,详细阐述了它们之间的区别与特点,包括如何判断链表尾部、数据存储结构以及各自的应用场景。

链表:非连续非顺序的存储结构,

循环链表和单链表区别:

1,循环链表的最后一个结点的指针指向表头结点,单链表是置位NULL的;

2,在判断表尾时,循环链表是判断该结点链域的值是否是表头结点,当链域值等于表头指针时,说明已到表尾,单链表是判断链域值是否为NULL;

双向链表:结点除含有数据域外,还有2个链域,一个存储直接后继结点地址(右链域),一个存储直接前驱结点地址(左链域)


一种常见的重要的数据结构,它是动态的进行存储分配的一种结构,它可以根据需要开辟内存单元,链表有一个头指针变量,以head表示,它存放一个地址,该地址指向一个元素,链表中每一个元素称为结点,每个结点都应包括2个部分,一是用户要用的实际数据,二是下一个结点的地址


队列:

一种特殊的线性表,特殊之处在于它只允许在表的前端进行删除操作,而在表的后端进行插入操作,和栈一样,队列是一种操作受限制的线性表,进行插入操作的端称为队尾,删除操作的端称为对头;

队列只允许在一段插入,在另一端删除,故称为先进先出;

顺序队列和循序队列:

顺序队列结构必须为其静态分配或动态申请一片连续的存储空间,并设置2个指针进行管理,一个队头指针front,它指向队头元素,另一个队尾指针rear,它指向下一个入队元素的存储位置;每次在队尾插入一个元素,rear增1,在队头删除一个元素时,front增1;当front=rear时,队列中没有任何元素,称为空队列;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值