【程序代码】 /***顺序栈的实现***/ #include<iostream> using namespace std; const int StackSize=100; struct SqStack {//顺序栈结构 char data[StackSize];//栈可用的最大容量 int top;//栈顶指针 }; void InitStack(SqStack &S) {//顺序栈的初始化 S.top=-1; } void Push(SqStack &S, char e) {//顺序栈的入栈 if (S.top==StackSize-1) {//栈满 cerr<<"Stack overflow!"<<endl; exit(1); } S.top++; S.data[S.top]=e; } char Pop(SqStack &S) {//顺序栈的出栈 if (S.top==-1) {//栈空 cerr<<"Stack is empty!"<<endl; exit(1); } return S.data[S.top--]; } char GetTop(SqStack S) {//取顺序栈的栈顶元素 if(S.top==-1) { cerr<<"Stack is empty!"<<endl; exit(1); } return S.data[S.top];//返回栈顶元素的值 } int isFull(SqStack S) {//判断栈是否已满,若是则返回1,否则返回0,此函数为顺序栈所特有 return S.top==StackSize-1; } int isEmpty(SqStack S) {//判断栈是否为空,若是则返回1,否则返回0 return S.top==-1; } void ClearStack(SqStack &S) {//清空栈。在顺序存储方式下,同初始化栈的算法相同 S.top=-1; } int main() { SqStack S; InitStack(S); cout<<"请输入顺序栈的元素个数:"<<endl; int n;//n<=StackSize cin>>n; cout<<"请输入顺序栈的元素值:"<<endl; for(int i=0; i<n; i++) { cin>>S.data[i]; Push(S,S.data[i]); } cout<<"从栈顶依次输出的顺序栈的元素值:"<<endl; for(int i=0; i<n; i++) { cout<<Pop(S)<<" "; } return 0; }
相关推荐
顺序栈是栈的一种类型,这里采用C++的模板来实现顺序栈
用c++类模板实现顺序栈,没有运用动态数组,适合初学者
压缩包内为栈的工程包;工程包括顺序栈、链栈的类的定义与实现;附适当注释;完全面向对象,类封装;测试类中用(纯)虚函数实现多态。
C++实现顺序栈的常用操作,定义了一个顺序栈的类,做了一个循环菜单,包括:创建顺序栈,入栈,出栈,清空栈,计算顺序栈的元素个数,判断顺序栈是否为空,打印栈等操作。
顺序栈的实现 基于C++对顺序栈的基础实现(C++)
数据结构 顺序栈基本操作
顺序栈实现源码 ,分别用C、C++、JAVA实现。
本资源是数据结构中利用顺序栈计算中缀表达式的一个C++代码,仅供参考,不足之处请大神们指正.
使用顺序栈实现括号匹配
在计算机编程中,栈...以下是一个简单的顺序栈实现的示例说明: 首先,我们定义一个顺序栈类SequentialStack,并在其构造函数中初始化栈的大小和栈顶位置。栈的大小可以根据需要设定,或者默认为一个合理的初始值。
本程序通过C++实现数据结构中顺序栈,主要功能有压栈、弹栈、遍历、栈空间拓展等,具体功能函数如下: MStack(int tCapacity,bool& flag); ~MStack(); void Clear(); bool Empty() const; bool Push(ElemType&)...
解决数据结构中利用C++来实现顺序栈的问题,
栈的顺序栈形式,简易的实现,push() pop() top() size() empty()
C++实现顺序栈类及测试
C++ 顺序栈和链式栈的实现 数据结构 类模板
简单的顺序栈的使用 验证 了解一下顺序栈的基本用法
采用C++语言实现利用顺序栈、链栈将10进制数转为2、8、16进制数。 通过本编程实例,可以进一步了解到顺序栈和链栈之间区别和联系,体会两者的异同,进一步加深知识印象,是不错的练习素材哦。
vs2010环境c++实现顺序栈 typedef shuZuStack *Head,stack;//shuZuStack 可用*Head,stack代替
使用顺序表实现的栈 对应于数据机构与算法分析(c++版)第三版或第二版 Clifford A.Shaffer 重庆大学使用教材
栈中数据用数组储存,通过top(),push(),pop()基本的函数用以实现其功能。 参见博客:http://blog.csdn.net/xiaowei_cqu/article/details/7748152