大家好,今天小编关注到一个比较有意思的话题,就是关于c语言 栈队列的问题,于是小编就整理了2个相关介绍c语言 栈队列的解答,让我们一起看看吧。
简述线性表,栈和队列的异同?
线性表、栈和队列都是线性结构,其中栈和队列又是特殊的线性表。线性表运行在表中的任意合法位置进行插入和删除操作。栈仅允许在表的一端(栈顶)进行插入(入栈)和删除(出栈)操作。队列仅允许在表的一端(队尾)进行插入(入队)操作,在另一端(队头)进行删除(出队)操作
相同点:
1、都是线性结构,都是逻辑结构的概念。都可以用顺序存储或链表存储;栈和队列是两种特殊的线性表,即受限的线性表,只是对插入、删除运算加以限制。
点:
1、运算规则不同,线性表为随机存取,而栈是只允许在一端进行插入、删除运算,因而是后进先出表LIFO;队列是只允许在一端进行插入、另一端进行删除运算,因而是先进先出表FIFO。
2、用途不同,堆栈用于子程调用和保护现场,队列用于多道作业处理、指令寄存及其他运算等等。
队列,栈的指针,是指向队头,尾,栈底,栈顶所在元素的位置吗?
看实现编码的约定,如果是链表,队头和栈顶指针也许指向的是头结点,而并不是队头和栈顶元素的位置 如果是顺序存储,队列和栈的下标也许是下一个位置,也有可能是前一个位置,这个都得看代码是怎样设定的
到此,以上就是小编对于c语言 栈队列的问题就介绍到这了,希望介绍关于c语言 栈队列的2点解答对大家有用。