这是我参与8月更文挑战的第27天,活动详情查看:8月更文挑战
前言
-
在我们刚接触C++的时候应该很容易理解数组这个概念,因为他很是贴合我们生活。但是在学习到单链表的时候就有点更不上节奏了。
-
实际上单链表也很荣理解,就像我们上学在一个班级里的学生是根据学号被分在一个班级里。而我们每个人基本上都是生活在不同的地方。这个学号我们就可以简单的理解成链表的指针。
链表
-
单链表是链表中的一种特殊结构。单链表就是在数据之外还有一个指针负责维护整个单链表的内部关系。
-
在单链表中我们只需要记住三个部分。
-
第一就是我们的头结点这个头结点没有实际意义他就是让我们能够找到这个单链表。
-
就好像我们的班级名称一样他并没有实际的意义,就是对我们这个集体的一个抽象。方便我们站到这个集体。
-
然后就是指针,从这个班级开始如何能够找到每个学生呢?这就是针织的作用。这个班级有个班主任他只需要找到班长。找到班长的功能就是指针
-
最后就是数据。这个数据就是我们学生的主体。
操作
新增
- 新增操作我们理解成班级插入新的学生。首先得先帮学生办理入学手续(这里就是new新对象)。简单点就是直接将新来的安排在班级的最后一个空位上。
- 但是往往班主任是将这个新生安排在特定的位置上。这个时候班长就需要将原本的那个位置的两个学生挪出一个位置。这样才能插入新来的学生。两个原来的学生不需要做任何改动。只需要A学生记住以后他的后面就是新来学生C了。B学生记住C就是他的老大了。
总结
-
链表的维护还是很简单的,通过指针的指向就可以维护出一个链表了。但是当我们需要遍历查询的时候,我们就需要遍历整个链表了。
-
而我们开头说的单链表就是我们链表值两个节点只需要一个指针就行维护的。