链表操作总结
来源:互联网 发布:域名注册扫描工具 编辑:程序博客网 时间:2024/06/06 12:09
链表的操作原理很容易理解,关键是用编程语言来实现,在实现的过程中要多思考,列举操作的所有可能性,并且要多虑多种可能情况,都要在代码中体现,否则很容易出现运行错误。尤其是因为链表中的关键----指针,要密切注意各种操作,指针的移动和赋值情况。以下从几个方面来说明注意的主要环节:
(1)对于链表的操作,所有的操作都要分当前链表是否为空链表的判断(空链表中没有结点,即链表的头指针为空),分为当前链表为空时的操作和不为空时的操作。
(2)对于链表的建立,分为头插法建立链表(新创建的结点总是连在已创建的链表的头部,作为链表新的头结点)和尾插法创建链表(新创建的结点总是连在已创建的链表的尾部)。
头插法建立链表:此情况必须考虑第一个结点要作为链表的尾部,所以next指针要为空,并且每加入一个新结点链表的头指针就要发生变化,即为新结点地址。
尾插法建立链表:第一次加入新结点时,链表头指针改变,由NULL变为第一个结点地址,以后再加入结点因为是加在链表尾部,所以头指针不再发生变化,但最后加入的结点要将next成员设为NULL,作为链表的尾部。
(3)对于创建链表、插入结点、删除结点等操作,一定要返回操作后新链表的地址,因为这些操作都有可能改变链表的头指针。如果插入的结点插入到了链表头部,如果删除的结点时链表中的第一个结点,操作后头指针都会发生变化。
(4)对于创建链表,在用户输入时,为了今后根据数据大小进行结点插入操作,往往需要输入的数据要有序。如果不通过输入时有意输入有序数据建立链表,我们可以用插入结点的方式,依次插入不同的结点,因为一开始链表为空,那以后每加入一个结点,就会判断结点的插入位置,这种通过插入结点进行链表建立的方式可以达到输入数据无序,但建立的链表数据有序的目的。
(5)删除结点和删除整个链表是不同的。删除整个链表需要把链表中的所有结点都释放掉,最后使头指针为空。
(6)插入结点要注意的问题
(7)删除结点要注意的问题
- 链表操作总结
- 链表操作总结
- 链表操作总结
- 链表基本操作总结
- 部分链表操作总结
- 单向链表操作总结
- C++链表操作总结和常见链表操作
- 链表操作类型的问题总结
- 链表节点操作的总结
- 链表的插入操作总结
- 链表的所有操作(总结)
- 数据结构之链表基本操作总结
- 临时表操作总结
- 数据库表操作总结
- 数据库表操作总结
- 数据库表操作总结
- 常用表操作总结
- ORACLE 表空间操作总结
- Harvard University
- POJ1894 JAVA高精度水
- request_region 申请一块输入输出区域
- ubuntu 安装rpm
- IOS检测网络连接状态(转)
- 链表操作总结
- 哈佛大学 47 清华大学 中国 1911年
- 如何查找技术资料----我的一点心得体会
- 在同一个session中的更新操作
- spring+hibernate集成开发环境的搭建
- c++实现图的单源最短路径
- window linux
- 3.17 大数据环境下集成R语言的数据挖掘平台项目记录(二)
- Arduino 简要笔记 i2c iic 字符转换