1.4 栈和队列 栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。
0 u# a( V. F8 h( u. q% ?2 K 栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。用top表示栈顶位置,用bottom表示栈底。* U/ O% n k% ~% i3 P
栈的基本运算:
. J, s/ w' L s& O- r" \+ K9 v. C+ S (1)插入元素称为入栈运算;
% B: V* c1 s$ X- X/ w F; \ (2)删除元素称为退栈运算;
8 C w% z9 G3 }, h ~ (3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。7 g. k1 [; ?( l& U# t% H9 m- S
队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。Rear指针指向队尾,front指针指向队头。
6 f% f5 I. K: Y# E0 e) A/ y5 b 队列是“先进行出”(FIFO)或“后进后出”(LILO)的线性表。6 L+ T; R: k0 A
队列运算包括
7 Y+ |' k1 h# z+ |6 m1 I, b4 P, I (1)入队运算:从队尾插入一个元素;& |! [: Z7 u; j j( y
(2)退队运算:从队头删除一个元素。
4 ~! e! O! f8 P9 `8 k5 g 循环队列:s=0表示队列空,s=1且front=rear表示队列满 |