顺序栈的实现 c++
来源:互联网 发布:ptc系列软件 编辑:程序博客网 时间:2024/06/14 22:12
用c++实现顺序栈:
//顺序栈的实现#include <iostream>#include <string>#define MAXSIZE 100using namespace std;struct Data{public:int bookNum[MAXSIZE]; static int top ;};int Data::top = 0;//顺序栈的初始化Data* SeqStackInit(){Data *s = new Data;s->top = -1;return s;}//顺序栈的判空int SeqStackEmpty(Data* s){if (-1 == s->top){return true;}elsereturn false;}//顺序栈的入栈void SeqStackPush(Data* s, int x){ if ((MAXSIZE-1) == s->top) { cout <<"栈满!"<<endl; } s->top++;s->bookNum[s->top] = x;cout<<"入栈元素:"<<s->bookNum[s->top]<<endl;}//顺序栈的出栈int SeqStackPop(Data* s){int x;if (-1 == s->top){cout <<"栈空!"<<endl;exit(0);}x = s->bookNum[s->top];cout <<"出栈元素:"<<s->bookNum[s->top]<<endl;s->top--;return x;}//顺序栈中取出栈顶元素int SeqStackGetTop(Data* s){if (-1 != s->top)return s->bookNum[s->top];}//顺序栈的长度int SeqStackLength(Data* s){int top1 = s->top;int length = 0;while(-1 != top1){ length++;top1--;}return length;}int main(){ Data* s = SeqStackInit();cout <<"判空操作:"<<SeqStackEmpty(s)<<endl; cout <<"入栈操作:"<<endl; SeqStackPush(s,12); SeqStackPush(s,23); SeqStackPush(s,4); SeqStackPush(s,78); SeqStackPush(s,3);cout <<"栈顶元素:"<<SeqStackGetTop(s)<<endl;cout <<"栈的长度:"<<SeqStackLength(s)<<endl; cout <<"出栈操作:"<<endl;SeqStackPop(s);cout <<"判空操作:"<<SeqStackEmpty(s)<<endl; cout <<"栈顶元素:"<<SeqStackGetTop(s)<<endl;return 0;}
- 顺序栈的实现 c
- 顺序栈的C实现
- c实现顺序栈
- c实现顺序栈
- 顺序栈的C语言实现
- 顺序栈的实现(C语言)
- 顺序栈的C语言实现
- 顺序栈的实现(ANSI C)
- 数据结构的C实现_顺序栈
- 顺序栈的实现C语言
- 顺序栈的实现(C语言)
- 顺序栈的C语言实现
- <数据结构>顺序栈的C语言实现
- 顺序栈的C语言实现
- 动态顺序栈的C语言实现!
- 顺序栈的实现(C语言)
- 顺序栈的c语言实现
- 【数据结构】顺序栈的实现(c++)
- SMB fail to find the entry for user ....
- Notes for C programmers
- GIMP 笔记
- 开发心得分享:10年编程无师自通
- 如何将网站提交到百度、Google等搜索引擎?
- 顺序栈的实现 c++
- JS,获取xml的值
- sqlserver 中的一些概念
- 数据库连接
- 10大有用控件
- 2011.9.19
- 链栈的实现 c++
- 数据库实例
- ASP.Net基础(4)