数据结构——顺序栈
2013-09-05 10:29
113 查看
#include <iostream> using namespace std; #define StackSize 10 //假定预分配的栈空间最多为100个元素 typedef int DataType; //假定栈元素的数据类型为字符 typedef struct { DataType data[StackSize]; int top; }SeqStack; //初始化顺序栈 void init_seqstack(SeqStack *ss) { ss->top=0; } //入栈 int Push_seqstack(SeqStack *ss,int x) { ++(ss->top); if(ss->top>StackSize) { cout<<"栈满!"<<endl; return 0; } else { ss->data[ss->top]=x; return 1; } } //出栈 void Pop_seqstack(SeqStack *ss) { if(ss->top==0) cout<<"is empty!"<<endl; else cout<<ss->data[ss->top--]<<endl; } //显示栈 void display_seqstack(SeqStack *ss) { if(ss->top==0) cout<<"is empty!"; else { int temp=ss->top; while(temp!=0) cout<<ss->data[temp--]<<" "; } } //取栈顶元素 int gettop_seqstack(SeqStack *ss) { return ss->data[ss->top]; } //判栈空 int isempty_seqstack(SeqStack *ss) { return ss->top ? 1 : 0; } //查找元素 int search_seqstack(SeqStack *ss ,int x) { while(ss->top!=0) if(ss->data[ss->top--]== x) return 1; return 0; } //置栈空 void clear_seqstack(SeqStack *ss) { //ss->top=0; init_seqstack(ss); cout<<"置空成功!"<<endl; } int main() { SeqStack *ss; ss=(SeqStack *) malloc(sizeof(SeqStack)); //初始化顺序栈 init_seqstack(ss); //入栈 Push_seqstack(ss,15); Push_seqstack(ss,23); Push_seqstack(ss,54); Push_seqstack(ss,67); Push_seqstack(ss,32); //显示栈 display_seqstack(ss); cout<<endl; //出栈 Pop_seqstack(ss); Pop_seqstack(ss); //显示栈 display_seqstack(ss); cout<<endl; //再入栈 Push_seqstack(ss,78); Push_seqstack(ss,43); //显示栈 display_seqstack(ss); cout<<endl; //取栈顶元素 cout<<"栈顶元素时: "<<gettop_seqstack(ss)<<endl; //判栈空 if(isempty_seqstack(ss)==0) cout<<"is empty!"<<endl; else cout<<"no"<<endl; //查找元素 if(search_seqstack(ss,99)) cout<<"yes!find it."<<endl; else cout<<"is not exist."<<endl; //置栈空 cout<<"置空线性栈? "; clear_seqstack(ss); display_seqstack(ss); return 0; }
相关文章推荐
- 【数据结构】顺序栈(顺序表动态实现)
- 数据结构(二):线性表包括顺序存储结构(顺序表、顺序队列和顺序栈)和链式存储结构(链表、链队列和链栈)
- 【数据结构】顺序栈
- 数据结构——顺序栈及其应用(括号匹配)
- 数据结构之自建算法库——顺序栈
- 数据结构小结——顺序栈
- 数据结构(七) 顺序栈实现数制转换
- c++ 数据结构 利用顺序栈计算后缀表达式的值
- 数据结构——顺序栈与链栈的C++实现
- 数据结构——栈(顺序栈)
- 数据结构实验三——顺序栈
- 数据结构实验三——顺序栈
- 数据结构——顺序栈
- 数据结构——顺序栈(c++)
- 数据结构——顺序栈
- 【数据结构】顺序栈与链表栈
- 【数据结构】顺序栈
- 算法与数据结构之五----顺序栈
- 数据结构实验之栈四:括号匹配
- mysqldump导出表结构、表数据