单向链表的实现C++

链表是常用的一种数据结构,如何创建链表、增、删、查找等功能是本文讨论的内容 。
首先,链表需要两个指针,一个是头指针是固定不变的,一个是移动变化的指针 。(1)为什么要头指针?原因是单向列表中的数据结构包含的只有下一个数据的指针,这样就说明了,单向链表是不可逆向进行操作 。所有的操作都需要正向去操作 。这时我们必须要知道第一个数据的地址,才能从第一个数据往后访问其他数据 。(2)可移动的指针的作用有两个,一个是申请内存时,保存内存地址 。另外一个功能是通过内存地址进行数据及地址的存储 。
(1)第一步创建了结构体,并创建两个指针 。

单向链表的实现C++

文章插图

单向链表的实现C++

文章插图
(2)然后我们要初始化这个链表,其实是创建一个链表头
单向链表的实现C++

文章插图
(3)下面就简单了,增加一个元素
单向链表的实现C++

文章插图

单向链表的实现C++

文章插图
其实这个地方我认为是最难理解的地方,如果如何增加一个元素弄懂了,那其实你的链表基本上就弄懂了 。指针的指向一定要搞清楚 。
(4)遍历也是一个重要的内容对于链表,为什么呢,链表的长度、链表中找某个元素,统计某个元素其实都是链表遍历的变形 。下面就以链表长度做一下讲解
单向链表的实现C++

文章插图
【单向链表的实现C++】网上很多程序直接使用while(p->next)做循环结束的条件,我不知道大家为什么都这样写,我一直认为这样计算会少计算最后一个节点 。希望大家在看其他人的程序时注意这一点 。