main.cpp
#include <iostream>
#include<fei1.h>
using namespace std;
int main()
{
der L;
//创建
L.date(215);
//入栈
L.ent(45);
L.ent(23);
L.ent(98);
L.ent(12);
//遍历
L.trav();
// 出栈
L.come();
L.come();
//遍历
L.trav();
//销毁
L.dest();
return 0;
}
fei.cpp
#include<fei1.h>
#include<iostream>
using namespace std;
//创建顺序栈
void der::date(int n)
{
//创建顺序表
data=new int[n];
//初始化
len=-1;
}
//判空
bool der::empty()
{
return len==0;
}
//入栈
void der::ent(int n)
{
//判断逻辑
if(data==nullptr)
{
cout<<"入栈失败"<<endl;
return ;
}
//入栈逻辑
//先压后加
len++;
data[len]=n;
}
//出栈
void der::come()
{
//判断逻辑
if(data==nullptr||empty())
{
cout<<"入栈失败"<<endl;
return;
}
//出栈逻辑
len--;
}
//遍历栈
void der::trav()
{
//判断逻辑
if(data==nullptr||empty())
{
cout<<"入栈失败"<<endl;
return;
}
//遍历逻辑
for(int i=0;i<=len;i++)
{
cout<<data[i]<<" ";
}
cout<<endl;
}
//销毁栈
void der::dest()
{
//判断逻辑
if(data==nullptr)
{
cout<<"入栈失败"<<endl;
return;
}
//销毁逻辑
delete []data;
}
fei.h
#ifndef FEI1_H
#define FEI1_H
class der
{
int *data;
int len;
public:
//创建栈
void date(int n);
//判空
bool empty();
//入栈
void ent(int n);
//出栈
void come();
//遍历栈
void trav();
//销毁栈
void dest();
};
#endif // FEI1_H
结果