top
d
c
bHale Waihona Puke af 进栈溢出b a b 进栈
e d c b a e 退栈
教学进度
top d c b a
d 退栈
top c b a
c 退栈
计算机科学与工程系
top b a
b 退栈
top a
top
a 退栈
空栈
教学进度
Status InitStack( SqStack &S) //构造空栈S {
计算机科学与工程系
教学进度
Quiz
计算机科学与工程系
• 一个栈的入栈序列是(a,b,c,d,e),不 可能得到的输出序列有 ( C ) A.edcba B.decba
• 特点:先进后出(FILO)或后进先出(LIFO)
进栈
栈
顶
an
a2
栈底
a1
... ……...
出栈 栈s=(a1,a2,……,an)
教学进度
计算机科学与工程系
教学进度
栈的类型定义 计算机科学与工程系
ADT Stack { 数据对象: D={ ai | ai ∈ElemSet, i=1,2,...,n, n≥0 } 数据关系: R1={ <ai-1, ai >| ai-1, ai∈D, i=2,...,n } 约定an 端为栈顶,a1 端为栈底。 基本操作:
Typedef struct {
SElemType *base; //栈元素数组的首地址
SElemType *top; //栈顶指针
int stacksize;
//栈最大容量
} SqStack;
教学进度
计算机科学与工程系