您现在的位置是:课程
C语言之链表讲解—信盈达【C语言系列】提高篇
2023-06-30 22:10课程 人已围观
1.1课程介绍
根据《数据结构》书中介绍,一个线性表是n个数据元素的有限序列,它的长度可根据需要增长或缩短,还有一系列对线性表的操作。线性表可分为顺序存储结构和链式存储结构两种。顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻。链式存储结构的特点是不需要逻辑上相邻的元素在物理位置上也相邻。下面重点介绍一下链式存储结构的线性链表,线性链表可分为单链表,循环链表,双链表。
线性表特点是用一组任意的存储单元存储线性表的数据元素,同时还存储一个指向后继信息的信息,这两部分信息组成为结点。结点包含两部分数据域和指针域。指针域存储信息成为指针或链。链表中只包含一个指针域,故称为单链表。
所以链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。
1.2课程主要知识点
- 链表的基本概念
- 链表的分类
- 动态无头链表的实现
- 动态有头链表的实现
1.3讲师介绍
路艳艳,精通c语言,熟悉c++/qt,并有多年的arm裸机开发经验,熟 悉Linux下的系统编程,以及内核的裁剪相关驱动的编写,掌握数据结构里面的内容。下一篇:WIN32私有内存的申请释放