第三章我们学了后进先出的栈以及先进先出的队,栈是限定仅在表尾进行插入或删除的线性表,顺序表示顺栈,链式表示链栈,主要操作是进栈和出栈,顺序栈的进出要注意判断栈满或栈空。而队只允许在表的一端进行插入,同样也要注意队满或队空,并且凡涉及队头或队尾指针的修改都要将其对MAXQSIZE求模。虽然在理解上还不 ...
分类:
其他好文 时间:
2019-04-01 01:13:21
阅读次数:
106
简单写一些个人印象比较深的点吧 1.栈非空时,top始终指向栈顶元素的上一个位置,队列非空时,尾指针始终指向队尾元素的下一个位置。 2.链栈在栈顶插入删除,以链表头部作为栈顶最为方便,没有必要像单链表那样为了操作方便附加一个头结点。 3,链栈入栈和链队入队前不需要判断是否栈满和队满,只需要为入栈元素 ...
分类:
其他好文 时间:
2019-04-01 00:55:31
阅读次数:
168
ref : https://blog.csdn.net/qq_29542611/article/details/78907339 队列的链式存储结构,其实就是线性表的单链表,只不过它只是尾进头出而已,我们把它简称为链队列。为了操作上的方便,我们将队头指针指向链队列的头结点,而队尾指针指向终端节点。如 ...
分类:
其他好文 时间:
2019-03-31 15:22:50
阅读次数:
158
数据结构 链队列的实现 1 链队列的定义 队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出而已, 我们把它简称为链队列。 为了操作上的方便,我们将队头指针指向链队列的头结点,而队尾指针指向终端结点,如下图所示。 空队列时,front和rear都指向头结点,如下图所示。 链队列的结构为 ...
分类:
编程语言 时间:
2019-01-28 00:54:46
阅读次数:
334
一、栈和队列 1.定义: 2.操作:入栈/队列、出栈/队列、判断满/空 3:空间复杂度:O(n) 4:单次操作的时间复杂度:O(1) 5:区别: (1)先进先出(FIFO) (2)先进后出FILO 6:数组和链表皆可(线性表) 指针(辅助变量) 栈顶/底指针 队头/尾指针 关键:出入元素同时移动指针 ...
分类:
编程语言 时间:
2019-01-04 22:02:11
阅读次数:
217
头指针或者尾指针需要改变,并且需要把改变的值带回到主程序,带回到调用处需要用的指针的指针;当尾指针不发生改变,或者即使发生了改变也不希望带回到主程序当中就用指针; 1 链式存储结构 特点:用一组任意的存储单元存储线性表中的数据元素;这组存储单元可以使连续的也可以是不连续的;每个数据元素除了存储数据外 ...
分类:
其他好文 时间:
2019-01-01 14:59:02
阅读次数:
212
队列即可以用链表实现也可以用顺序表实现,跟栈相反的是,栈一般用顺序表实现而队列用链表来实现,简称为链队列,我们将队头指针指向链队列的头结点,队尾指针指向终端结点(头结点不是必要的,但为了方便操作我们加上了头结点)。 1、链队列的存储结构 ...
分类:
其他好文 时间:
2018-11-10 15:22:32
阅读次数:
144
n个数据元素构成一个环,从环中任意位置开始计数,计到m将该元素从表中取出,重复上述过程,直至表中只剩下一个元素。 解题思路:用一个无头结点的循环单链表来实现n个元素的存储。循环单链表:尾指针指向头结点。这样指针可以循环移动。 可以使用两个指针来操作,将指针q指向需要操作的结点上,指针p指向需要操作结 ...
分类:
其他好文 时间:
2018-11-04 22:54:43
阅读次数:
148
本来想做数论的……但是别的dalao都在做制胡窜 所以…… Chapter I KMP KMP 最关键的不是这个半暴力的单模匹配 而是这个nxt数组 经常出一些奇怪的题 尤其是循环节可以直接由T-nxt[T]得到……神啊 总之记住nxt就是最长公共前后缀中前缀的尾指针就OK T1 poj3461 O ...
分类:
其他好文 时间:
2018-10-10 11:59:57
阅读次数:
119
题意:到一个城市得钱,离开要花钱。开始时有现金。城市是环形的,问从哪个开始,能在途中任意时刻金钱>=0; 一个开始指针i,一个结尾指针j。指示一个区间。如果符合条件++j,并将收益加入sum中(收益可能是负数)。不符合就++i,并从sum中退掉收益直到sum>=0;区间长度为n时i的位置就是结果。 ...
分类:
其他好文 时间:
2018-10-05 12:17:02
阅读次数:
157