加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
chap03_05.cpp 917 Bytes
一键复制 编辑 原始数据 按行查看 历史
Admin 提交于 2022-03-25 07:08 . cpp_structures
#include <iostream>
using namespace std;
const int N = 100;
class CPPStack
{
private:
char s[N]; //栈的内容保存在s中
int tp; //栈顶指示器,栈空为-1
public:
void init();
bool isEmpty();
bool isFull();
void push(char c);
char pop();
char top();
};
void CPPStack::init()
{
tp = -1;
}
bool CPPStack::isEmpty()
{
return (tp==-1);
}
bool CPPStack::isFull()
{
return (tp==(N-1));
}
void CPPStack::push(char c)
{
tp++;
s[tp] = c;
}
char CPPStack::pop()
{
int oldtp = tp;
tp--;
return s[oldtp];
}
char CPPStack::top()
{
return s[tp];
}
int main()
{
char str[] = {"0123456789"};
CPPStack s;
cout << str << endl;
s.init();
int i = 0;
while(str[i] && !s.isFull())
s.push(str[i++]);
while(!s.isEmpty())
cout << s.pop();
cout << endl;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化