和线性表类似,栈也有两种存储表示方法。 顺序栈,即栈的顺序存储结构是利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,勇士附设指针 top 指示栈顶元素在顺序栈中的位置。通常的习惯做法是以 top=0 表示空栈,鉴于 C 语言中数组的下标约定从 0 开始,则当以 C 做描述语言时,如此设定会带 ...
循环链表的链式存储结构的结点只有一个指示直接后继的指针域,由此,从某个结点只能顺指针往后寻常其他结点。若要寻查结点的直接前驱,则需要从表头指针出发。换句话说,在单链表中, NextElem 的执行时间为 O ( 1 ),而 PriorElem 的执行时间为 O ( n )。为克服单链表这种单向性的缺点,可利用双向链表 ...
假设头指针为 La 和 Lb 的单链表分别为线性表 LA 和 LB 的存储结构,现要归并 La 和 Lb 得到单链表 Lc ,按照算法 MergeList 的思想,需设立 3 个指针 pa 、 pb 和 pc ,其中 pa 和 pb 分别指向 La 表和 Lb 表中当前待比较插入的结点,而 pc 指向 Lc 表中当前最后一个结点,若 pa-data ≤ pb-data ,则将 pa 所指向结点 ...