- 博客(4)
- 收藏
- 关注
原创 双向循环链表的实现
尾插法的addDNode传入的是new_node 待插入节点,header->prev 头节点的前一个节点,header 头节点,这样通过adddNode函数就可以将new_node 插入到header->prev 和 header中间,也就是头节点的前面,实现尾插法。例如在某个特定节点后插入节点,首先让新节点的前驱指针指向该特定节点,然后将新节点的后继指针指向该特定节点的后继节点,然后将,特定节点的后继节点的前驱指针指向新节点,再将特定节点的后继指针指向新节点。双向循环链表是双向链表和循环链表的结合。
2024-09-10 21:44:40 231
原创 单向循环链表的实现
有了单向链表的实现,但是单向链表的遍历需要从头节点开始,直到尾节点结束,这就会有许多限制,比方说在不知道头节点的情况下,就无法通过单向链表来遍历,这时候就需要单向循环链表。单向循环链表可以从任意节点位置开始,一直循环遍历到该节点本身结束,只需要知道任意一个节点。而且单向链表在进行尾插法的时候,需要特殊处理,因为尾节点没有下一个节点,而单向循环链表中,尾节点的下一个节点就是头节点,操作上更加统一和简便。同样也是引用辅助指针,和一个临时指针,防止释放后找不到下一个节点的内容导致释放失败。
2024-08-20 17:02:31 123
原创 顺序表的实现
2:有了表头接下来就要创建表头,由于不知道数据元素的数量有多少,那么就需要动态的申请空间的大小,所以申请空间必须在堆空间中申请,可以根据实际需求动态的调整顺序表的大小,不在栈空间申请的原因是栈空间通常较小,如果数据元素数量较大可能超出栈的容量限制,导致栈溢出错误。//释放这些在堆空间中的数据。创建完表之后就要往表里写入数据,尾插法的效率是最高的,不用移动其他的数据。// 2. 表头结构的操作行为 , 创建表头,表的数据区也申请好,必须告知初始化的大小,将创建好的表头的地址返回给上层,表头一定是指向堆空间。
2024-08-08 14:15:42 289
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人