标签:
若线性表需要频繁查找,很少进行插入和删除操作时,宜采用顺序存储结构(只读取情况)。若需要频繁插入和删除和插入时,宜采用单链表结构(不需要考虑存储空间的大小)。
1;数组第一个元素的cur用来存放备用链表(空闲空间)的第一个结点的下标。
数组最后一个元素的cur用来存放第一个插入元素的下标,相当于头结点。
2;在动态链表中,结点的申请和释放分别借用malloc()和free()两个函数来实现。在静态链表中,操作的是数组,要我们自己实现这两个函数(将所有未被使用过的及已经被删除的分量用游标链成个备用的链表,每当进行插入时,便可以从备用链表上取得第一个结点作为待插入的新节点,通过游标找对应的下标依次读出即可),才能做到插入和删除操作。
3;静态链表不需要移动元素,只需要修改游标,但这样失去了顺序存储结构随机存储的特性,由存储分配带来的表长难以确定
将单链表中终端结点的指针端有空指针改为指向头结点,使整个单链表形成一个环,这种头尾相接的单链表称为单循环链表。
在单链表的每个结点中,再设置一个指向其前驱结点的指针域。(它的前驱的后继和后继的前驱都是自己)
标签:
原文地址:http://www.cnblogs.com/hpbb/p/5388403.html