第三章_栈、队列和数组
第三章 栈、队列和数组 栈和队列都是特殊的线性表,数组是线性表的变化形式,它们都是软件设计中常用的数据结构。 主要内容 从数据结构角度来看,栈和队列也是线性表,其特殊性在于它们的操作是线性表操作的子集, 即可以看成是操作受限的线性表,成为称为限定性的数据结构。 栈的定义 栈是只能在一端插入和删除的线性表。 栈的运算 初始化栈:init_stack(S) 判断栈空:stack_empty(S) 取栈顶元素:stack_top(S,x) 入栈:push_stack(S,x) 出栈:pop_stack(S) 判断栈满:stack_full(S) 顺序栈---存储结构 顺序栈:利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,用指针top指示栈顶元素在顺序栈中的位置。 。 顺序栈---运算(1) 初始化栈: void init_stack(seqstack *S) { s-top=-1; } 顺序栈---运算(2) 入栈: void push_stack(seqstack *S, elementtype x) {if (S-top==maxsize-1 )error(“溢出”); else S-data[++s-top]=x; } 有A、B、C、D四个元素依次入栈,假设栈足够大,并且已入栈
原创力文档

文档评论(0)