数据结构-栈和队列

栈和队列:

栈的定义及基本运算

栈和队列是两种特殊的线性表,它们的逻辑结构和线性表相同,只是其运算规则较线性表有更多的限制,故又称它们为运算受限的线性表。栈和队列被广泛应用于各种程序设计中。

顺序栈

栈的顺序存储结构简称为顺序栈,它是运算受限的顺序表。

链栈

栈的链式存储结构称为链栈。

队列的定义及基本运算

队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表。

顺序队列和循环队列

队列的顺序存储结构称为顺序队列,顺序队列实际上是运算受限的顺序表。为充分利用向量空间,克服”假上溢”现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列(Circular Queue)。

链队列

队列的链式存储结构简称为链队列。它是限制仅在表头删除和表尾插入的单链表。

栈的应用实例

栈和队列的应用非常之广,只要问题满足后进先出和先进先出原则,均可使用栈和队列作为其数据结构。

队列的应用实例

舞伴问题:假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一算法模拟上述舞伴配对问题。

    原文作者:舞伴问题
    原文地址: https://blog.csdn.net/coolingxyz/article/details/53243787
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞