简述线性表,栈和队列的异同

简述线性表,栈和队列的异同

相同点:都是线性结构,都是逻辑结构的概念。都可以用顺序存储或链表存储;栈和队列是两种特殊的线性表,即受限的线性表,只是对插入、删除运算加以限制。

不同点:

①运算规则不同,线性表为随机存取,而栈是只允许在一端进行插入、删除运算,因而是后进先出表LIFO;队列是只允许在一端进行插入、另一端进行删除运算,因而是先进先出表FIFO。

② 用途不同,堆栈用于子程调用和保护现场,队列用于多道作业处理、指令寄存及其他运算等等。

扩展资料

顺序栈——栈的顺序存储结构

栈属于特殊的线性表,支持进栈出栈判空判满等基础操作。可以利用数组模拟栈搭配top值进行以上的基础操作。

两栈共享空间(双端栈) :

在一个程序中需要同时使用具有相同数据类型的两个栈,可以为这两个栈用数组模拟创建共享空间,称为双向栈。两栈共享空间:使用一个数组来存储两个栈,让一个栈的栈底为该数组的始端,另一个栈的栈底为该数组的末端,两个栈从各自的端点向中间延伸。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-10
栈和队列是操作位置受限的线性表,即对插入和删除的位置加以限制。栈是仅允许在表的一端进行插入和删除的线性表,因而是后进先出表。队列是只允许在表的一端进行插入,另一端进行删除操作的线性表,因而是后进先出表本回答被提问者采纳
第2个回答  2010-04-30
线性表是首尾相接的(每个节点都有两块空间,一个是存要存的数据一块是前一个节点所在存储空间的地址),就是后一个存着前一个所在的地址(也就是指针指向前一个)存储空间不是固定连续的;栈和队列是连续的一段空间,栈就像一个铁桶,有底无盖,先进去的就只能被压在最低下,最后才能取出来(假如是存满一次再全取出的话);队列是一根管子,大家排队钻进去,先钻进去的就先从另一端出来。

偶也毕业5年,忘差不多了
相似回答