当前位置: 首页 > news >正文

栈的操作:进栈,出栈,读栈顶元素

代码:

#include<iostream>
using namespace std;
template<class T>
class sq_Stack
{private:int mm;int top;T *s;public:sq_Stack(int);void prt_sq_Stack();int flag_sq_Stack();void ins_sq_Stack(T);T del_sq_Stack();T read_sq_Stack();
};
template<class T>
sq_Stack<T>::sq_Stack(int m)
{mm=m;s=new T[mm];top=0;return;
}
template<class T>
void sq_Stack<T>::prt_sq_Stack()
{int i;cout<<"top="<<top<<endl;for(i=top;i>0;i--)cout<<s[i-1]<<endl;return;
}
template<class T>
int sq_Stack<T>::flag_sq_Stack()
{if(top==mm)return(-1);if(top==0) return(0);return(1);
}
template<class T>
void sq_Stack<T>::ins_sq_Stack(T x)
{if(top==mm){cout<<"Stack overflow!"<<endl;return;}top=top+1;s[top-1]=x;return;}
template<class T>
T sq_Stack<T>::del_sq_Stack()
{T y;if(top==0){cout<<"Stack underflow1"<<endl;return(0);}y=s[top-1];top=top-1;return(y);}
template<class T>
T sq_Stack<T>::read_sq_Stack()
{if(top==0){cout<<"Stack empty!"<<endl;return(0);}return(s[top-1]);
}
int main()
{sq_Stack<int>s(10);s.ins_sq_Stack(50);s.ins_sq_Stack(60);s.ins_sq_Stack(70);s.ins_sq_Stack(80);s.ins_sq_Stack(90);s.ins_sq_Stack(100);cout<<"输出栈顶指针与栈中的元素:"<<endl;s.prt_sq_Stack();cout<<"栈顶元素:"<<s.read_sq_Stack()<<endl;cout<<"输出退栈元素:"<<endl;cout<<s.del_sq_Stack()<<endl;cout<<s.del_sq_Stack()<<endl;cout<<s.del_sq_Stack()<<endl;cout<<"再次输出栈顶指针与栈中的元素:"<<endl;s.prt_sq_Stack();return 0;}

运行:


http://www.mrgr.cn/news/34647.html

相关文章:

  • 2024.9.23
  • 流域碳中和技术
  • spring boot文件上传之x-file-storage
  • Django 数据库配置以及字段设置详解
  • 计算机毕业设计之:基于微信小程序的疫苗预约系统的设计与实现(源码+文档+讲解)
  • 论文大杀器!分享4款ai论文写作工具软件
  • Dify创建自定义工具,调用ASP.NET Core WebAPI时的注意事项(出现错误:Reached maximum retries (3) for URL ...)
  • python爬虫案例——抓取链家租房信息
  • JSON合并工具
  • 苍穹外卖学习笔记(九)
  • 微信抢红包设计
  • Vue开发前端图片上传给java后端
  • 19_Python中的上下文管理器
  • QT中添加资源文件(一看就会)
  • Linux常用命令
  • 开关频率与谐振频率对应的模态图
  • 一行命令,一分钟轻松搞定SSL证书自动续期
  • 类中的特殊内容
  • 华为高级交换技术笔记 2024-2025
  • 计算机组成原理==初识二进制运算