单链表实现线性表的基本算法(一)
2014-09-13 19:10
225 查看
(1)初始化线性表lnitList(L)
该运算建立一个空的单链表,即创建一个头节点
本算法的时间复杂度为O(1)。
(2)销毁线性表DestroyList(L)。
释放单链表L占用的内存空间,即逐一释放全部节点的空间。
本算法的时间复杂度为O(n),其中n味单链表中数据节点的个数。
该运算建立一个空的单链表,即创建一个头节点
void InitList(LinkList *&l) { L=(LinkList*)new(sizeof(LinkList)); L->next=NULL; //创建头节点,其next域置为NULL }
本算法的时间复杂度为O(1)。
(2)销毁线性表DestroyList(L)。
释放单链表L占用的内存空间,即逐一释放全部节点的空间。
void DestroyList(LinkList *&L) { LinkList *pre=L,*p=L->next; //pre指向*p的前驱节点 whil(p!=NULL) //扫描单链表L { free(pre); //释放*pre节点 pre=p; //pre、p同步后移一个节点 p=pre->next; } //循环结束时,p为NULL,pre指向尾节点,释放它 free(pre); }
本算法的时间复杂度为O(n),其中n味单链表中数据节点的个数。
相关文章推荐
- 实现单链表各种基本运算的算法
- 基本算法实现小结(一)—— 单链表
- 数据结构算法代码实现——线性表的链式表示与实现(单链表)(三 )
- Java数据结构与算法—及实现 线性表 顺序表、链表、栈、队列详解
- 单链表的基本算法1---C语言实现
- 基本算法实现小结(一)—— 单链表
- 算法复习--------------基本算法:链表的实现
- 线性表的基本操作实现 - 链表与顺序表
- 线性表的基本操作实现(基于链表,有头结点)
- 用C#基本语句实现的链表算法
- 基本算法实现小结(一)—— 单链表
- 算法复习--------------基本算法:线性表的实现
- 带头结点的链表实现线性表的基本操作
- 单链表的基本操作与算法(Java实现)
- 单链表的基本算法实现。
- 基本算法实现小结(一)—— 单链表
- 【数据结构和算法分析】单链表的基本实现
- 基本算法实现小结(一)—— 单链表
- 链表的基本操作函数算法(C/C++实现)
- 算法与数据结构-单向链表的基本操作C语言实现