引入
前面我们介绍了什么是链表,以及为什么单链表可以解决顺序表在插入删除时要移动大量元素的问题。也学习了如何封装一个单链表,今天我们来看看如何操作单链表中的数据。
单链表的读取
还记得在顺序表中的读取嘛?我们通过下标索引就可以很轻松的找到顺序表中的数据元素,因为顺序表中的数据元素的存放是紧密相联的。
但是在单链表中,
- 第一个数据存放着第二个数据的存储位置
- 第二个数据存放着第三个数据的存储位置
- 以此类存
- 第 n-1 个数据存放着第 n 个数据的存储位置
获取链表第 i 个数据的算法
- **指向:**声明一个节点 p 指向链表中的第一个结点
- **遍历:**初始化一个 j,j<i 时,就遍历链表,让 p 指针不断指向下一个结点,然后 j+1
- **失败:**若找到链表末尾,p 为空,这说明第 i 个元素不存在
- **成功:**返回第 i 个元素的结点 p 中的数据。