首先 顺序表 和 链表是 两个数据存储方式。分别有自己数据间的存储特点。
其次 顺序表 和 链表 存在的“地方”,“这个地方”就是 “栈” 或者 “队列” 了
其实就是按照 FIFO先进先出 和 FILO先进后出 来处理数据所区别。
{{{而对于 FIFO 呢 在写代码时 一般 就可以用堆区来存放数据。。而对于 FILO 呢 则就放在栈区里咯}}}这个理解是错误的 mmp。。。。。百度下
以下来自搜索::
线性表
Insert(L,i,x)
(1≤i≤n+1)
Delete(L,i)
(1≤i≤n)
如线性表允许在表内任一位置进行插入和删除
栈
Insert(L,n+1,x)
Delete(L,n)
而栈只允许在表尾一端进行插入和删除
队列
Insert(L,n+1,x)
Delete(L,1)
队列只允许在表尾一端进行插入,在表头一端进行删除
(最主要的区别)
栈与队列的相同点:
1.都是线性结构。
2.插入操作都是限定在表尾进行。
3.都可以通过顺序结构和链式结构实现。、
4.插入与删除的时间复杂度都是O(1),在空间复杂度上两者也一样。
5.多链栈和多链队列的管理模式可以相同。
栈与队列的不同点:
1.删除数据元素的位置不同,栈的删除操作在表尾进行,队列的删除操作在表头进行。
2.应用场景不同;常见栈的应用场景包括括号问题的求解,表达式的转换和求值,函数调用和递归实现,深度优先搜索遍历等;常见的队列的应用场景包括计算机系统中各种资源的管理,消息缓冲器的管理和广度优先搜索遍历等。
3.顺序栈能够实现多栈空间共享,而顺序队列不能。
明天在实现吧,肚子饿了。。。今天就理解偷吃!!透彻!