草庐IT

数据结构(严蔚敏版)第三章——栈和队列(二)【栈的表示和操作的实现】

3.3、栈的表示和操作的实现3.3.1、栈的类型定义栈的基本操作的抽象数据类型定义:ADTStack{数据对象;D={ai|ai属于ElementSet,i=1,2,...,n,n>=0}数据关系:R1={|ai-1,ai属于D,i=2,...,n} 约定an端为栈顶,a1端为栈底基本操作: InitStack(&S)操作结果:构造一个空栈DestroyStack(&S)初始条件:栈S已存在操作结果:栈S被销毁ClearStack(&S)初始条件:栈S已存在操作结果:将栈S清空为空栈StackEmpty(S)初始条件:栈S已存在操作结果:若栈S为空栈,则返回true,否则则返回fals

数据结构(严蔚敏版)第三章——栈和队列(二)【栈的表示和操作的实现】

3.3、栈的表示和操作的实现3.3.1、栈的类型定义栈的基本操作的抽象数据类型定义:ADTStack{数据对象;D={ai|ai属于ElementSet,i=1,2,...,n,n>=0}数据关系:R1={|ai-1,ai属于D,i=2,...,n} 约定an端为栈顶,a1端为栈底基本操作: InitStack(&S)操作结果:构造一个空栈DestroyStack(&S)初始条件:栈S已存在操作结果:栈S被销毁ClearStack(&S)初始条件:栈S已存在操作结果:将栈S清空为空栈StackEmpty(S)初始条件:栈S已存在操作结果:若栈S为空栈,则返回true,否则则返回fals

数据结构基础—栈和队列

数据结构基础—栈和队列一、栈和队列的基本概念和性质栈和队列都是特殊的线性表对他们的操作有着规定和限制:在插入和删除时只能对某一端操作栈:只能在一端进行(先进后出)队列:只能在表尾插入,在表头删除(先进先出)二、栈表头为栈底,表尾为栈顶1.栈的基本操作和规则a.进栈和出栈进栈:栈顶则成为进栈的数据(插入)。如果是顺序表,则一定要进行判满出栈:将当前栈顶移出(删除),不管什么存储类型,一定要判空b.进栈、出栈前后的次序一个数的出栈可以在另一个数进栈前出,但不可以在另一个数进栈后,在这个数(另一个进栈的数)前出。当一个数进栈后,若它前面有数,则在出栈时它前面的所有数的排列都是入栈的逆序。举个栗子:若

数据结构基础—栈和队列

数据结构基础—栈和队列一、栈和队列的基本概念和性质栈和队列都是特殊的线性表对他们的操作有着规定和限制:在插入和删除时只能对某一端操作栈:只能在一端进行(先进后出)队列:只能在表尾插入,在表头删除(先进先出)二、栈表头为栈底,表尾为栈顶1.栈的基本操作和规则a.进栈和出栈进栈:栈顶则成为进栈的数据(插入)。如果是顺序表,则一定要进行判满出栈:将当前栈顶移出(删除),不管什么存储类型,一定要判空b.进栈、出栈前后的次序一个数的出栈可以在另一个数进栈前出,但不可以在另一个数进栈后,在这个数(另一个进栈的数)前出。当一个数进栈后,若它前面有数,则在出栈时它前面的所有数的排列都是入栈的逆序。举个栗子:若