数据结构和算法
小肥侠123
一起讨论、交流、学习。评论区见,我尽量尽快回复评论内容。
展开
-
2.2 单链表常见问题
1.带头链表和不带头链表的区别 所谓的带头链表就是在第一个有效节点(首元节点)之前增加多一个头节点的链表,多出的这个头节点也叫做哨兵节点。哨兵节点和链表中的其它节点的区别是其数据域一般不存储数据或者只存储链表长度等信息。加入哨兵节点的目的是为了让链表第一个有效节点和最后一个有效节点的插入和删除操作和其它的节点一样。 如下图所示,头结点也就是我们的哨兵节点。其数据域一般不存放数据,指针域指向...原创 2020-03-03 00:03:08 · 547 阅读 · 0 评论 -
2.1单链表
前言 和数组一样,链表是一个线性的数据结构。不同的是,数组需要一段连续的内存来存放数据,而链表的数据不需要连续的内存来存放,链表可以通过指针将一组零散的内存连接起来用来存放数据,这些零散的内存就对应链表上的节点。 为什么需要链表? 数组相比于链表,有如下缺点: 因为数组的大小是固定的。一经声明便会占据整块连续的内存。因此必须事先知道需要多少内存。如果分配内存过大,可能会造成浪费和内存不足。如果分...原创 2020-03-02 21:09:48 · 170 阅读 · 0 评论