day89(6.9)

来源:互联网 发布:天书世界披风数据 编辑:程序博客网 时间:2024/06/06 12:33
数据结构二之栈和队列
栈(stack)是限制仅在表的一端进行插和删除运算的线性表。通常称为插入,删除的这一端为栈顶(Top);另一端称为栈底(Bottom)。当表中没有元素时称为空栈。栈为后进先出(last In first out)的线性表,简称为LIFO表,栈的修改按后进先出的原则进行了。每次删除(退栈)的总是当前栈中的“最后”的元素,即最后插入(进栈)的元素。而最先插入的是被放在栈的底部,要最后才能删除。(PS:与之相反的有一个先进先出)
栈的基本运算:InitStack(S):构造一个空栈S
StackEmpty(s):判栈空,若S为空栈,则返回 TRUE,否则返回FALSE
StackFull(S)判断栈满,若S为满栈,则返回TRue,否则返回FALSE,该运算只适合本和的顺序存领教结构。
push(s,x)进栈a,若栈S不满,则将元素X插入析栈顶。
Pop(s):取栈顶元素,苦味栈S非空,则返回 栈顶元素,但不改变栈的状态。
允许删除的一端称为队头(Front),允许插入的端称为队尾(Rear),当队列中没有元素时称为空队列。队列亦称作先进先出(First In first OUt)的线性表,简称为FIFO.
队列的修改是依先进先出的原则进行的。新一煌成员总蛔入队尾(允许‘加塞“,每次离开的成员总是队列头上的(不允许中途离队),即当前”最老的成员离队。(PS:因为还是易于理解的,就不举例子)
InitQuene(Q)置空队,构造一个空队列Q。QueneEmpty(Q)判队空,若队列Q为空,则返回真值,否则返回假值。
QueueFull(Q):判队满,苦味队列Q为满,则返回真值,否则返回假值。
EnQuene(Q,x):若队列Q非满,刚将元素X插入Q的队尾,此操作简单入队。
QueneFront(Q):若队列Q非空,则返回 队头元素,但不改变队列Q的状态。
0 0