单链表的实现【数据结构】

单链表的实现【数据结构】
思考:
1.是否能够将原来指针的方向改为向前指向呢?
2.是否能够有两个指针域的操作呢?
了解:
单链表是应用最广泛的一种形式,还有双向链表以及循环链表,这些都是要进行讨论的
结构体定义的是什么?
结构体定义的是单链表的结点所包含的内容,包括数据域以及指针域,结构一旦发生了变化,那么单链表的讨论就要发生变化
管理单链表的两种思考角度是什么?
第一种就是将单链表看作是一个整体,第二种就是将单链表看作是一个结点一个结点的串联形式
单链表的头指针一般不能进行修改:在进行重定义的时候,通常你会发现带有LIST的名字,这种就是代表了单链表的头,就是头指针尽量不要进行对他修改,他记录的是一个链表的首地址,不能将第一个地址弄丢,因为后面的地址是一个挨着一个进行连接在一起的,丢了一个就都丢了,就像是一条线穿着10条鱼,距离第1条鱼的线断了,那么后面的10条鱼就都要被丢弃了
小提示:
1.链式结构当中是不存在存储空间的浪费的,因为我们是动态进行内存空间的分配的,有数据就开辟空间,没有就不分配空间
寻找空间的两种方式:在定义的时候我们起一个别名,利用别名的方式进行访问,我们称作是间接寻址,另外的一种是直接通过地址来进行询问,叫做间接寻址,动态内存分配就只返回一个地址,单链表当中的指针用法是很常见的
2.在数组当中访问元素的方式是利用指针加加的方式,但是对于动态分配的线性表来说,是不能使用指针加加的方式来进行选址,
以结点的角度进行定义
单链表的实现【数据结构】
单链表功能实现函数
单链表的实现【数据结构】单链表的实现【数据结构】
单链表的实现【数据结构】
指针指向的是起始地址,既不指向数据区也不指向指针区域,指向的是一个整体
单链表的实现【数据结构】单链表的实现【数据结构】
delete函数的基本操作以及注意事项
单链表的实现【数据结构】
单链表的实现【数据结构】