链表与数组的区别:链表是将离散的数据链接在一起,而数组是将连续的元素连在一起。 链表是通过节点把离散的数据链接成一个表,通过对节点的插入和删除操作从而实现 对数据的存取。而数组是通过开辟一段连续的内存来存储数据,这是数组和链表最大的区 别。数组的每个成员对应链表的节点,成员和节点的数据类型可以是标准的 C 类型或者是 用户自定义的结构体。数组有起始地址和结束地址,而链表是一个圈,没有头和尾之分, 但是为了方便节点的插入和删除操作会人为的规定一个根节点。
链表的构成:一般由节点构成(节点以结构体的形式),节点由数据域与指针域(存放下一个节点首地址)构成。
链表的操作:节点的插入与删除,为了顺利的插入,通常一条链 表我们会人为地规定一个根节点,这个根节点称为生产者。通常根节点还会有一个节点计 数器,用于统计整条链表的节点个数,
双向链表与单向列表的区别:有两个节点指针,分别指向前后两个节点,其 它完全一样
创建链表:创建一个节点->创建第二个节点,将其放在第一个节点的后面(第一的节点的指针域保存第二个节点的地址),以此类推
链表的遍历:输出第一个节点的数据域,输出完毕后,让指针保存后一个节点的地址,输出移动地址对应的节点的数据域,输出完毕后,指针继续后移 以此类推,直到节点的指针域为NULL。
链表的释放: