#include <iostream>
#define MAXSIZE 8
using namespace std;
typedef int datatype;
class Stack
{
datatype data[MAXSIZE];
int front=0;
int rear=0;
public:
int size()
{
return (MAXSIZE-front+rear)%MAXSIZE;
}
bool full()
{
return front==(rear+1)%MAXSIZE;
}
bool empty()
{
return rear==front;
}
int push(datatype value)
{
if(full())
{
cout<<"入队失败"<<endl;
return -1;
}
data[rear]=value;
rear=(rear+1)%MAXSIZE;
return 0;
}
int pop()
{
if(empty())
{
cout<<"出队失败"<<endl;
return -1;
}
front=(front+1)%MAXSIZE;
return 0;
}
void show()
{
if(empty())
{
cout<<"遍历失败"<<endl;
return ;
}
for(int i=front;i!=rear;i=(i+1)%MAXSIZE)
{
cout<<"datd ="<<data[i]<<endl;
}
}
};
int main()
{
Stack s;
s.push(1);
s.push(2);
s.push(3);
s.push(4);
s.push(5);
s.push(6);
s.show();
return 0;
}