day0908

1.

#include 
#define MAX 128
using namespace std;
class Stack
{
private:
    int data[MAX];
    int top;
public:
    Stack();
    Stack(Stack &s);
    //判空
    bool stack_empty();
    //判满
    bool stack_full();
    //入栈
    int stack_push(int num);
    //遍历栈
    void stack_show();
    //出栈
    int stack_pop();
    //获取栈顶元素
    int stack_top();
    //求栈的大小
    int stack_size();

    ~Stack();
};


int main()
{
    Stack s;
    s.stack_push(8);
    s.stack_push(5);
    s.stack_push(3);
    s.stack_push(7);
    s.stack_show();

    s.stack_pop();
    s.stack_show();

    s.stack_top();

    s.stack_size();

    return 0;
}
Stack::Stack():top(-1){}
Stack::~Stack(){}
Stack::Stack(Stack &s):top(s.top){
    for(int i=0;i<=top;i++)
        data[i]=s.data[i];
}
//判空
bool Stack::stack_empty()
{
    return -1==top;
}
//判满
bool Stack::stack_full()
{
    return top == MAX-1;
}
//入栈
int Stack::stack_push(int num)
{
    if(stack_full())
    {
        cout<<"入栈失败"<=0;i--)
    {
        cout<

2.

#include 
#define MAX 8
using namespace std;
class Queue
{
    int data[MAX];
    int front;
    int tail;
public:
    Queue();
    ~Queue();
    Queue(Queue &q);
    //判空
    bool queue_empty();
    //判满
    bool queue_full();
    //入队
    int queue_push(int num);
    //遍历队
    int queue_show();
    //出队
    int queue_pop();
    //求队的长度
    int queue_size();
};

int main()
{
   Queue q;
   q.queue_push(8);
   q.queue_push(5);
   q.queue_push(3);
   q.queue_push(7);
   q.queue_show();

   q.queue_size();

   q.queue_pop();
   q.queue_show();
    return 0;
}
Queue::Queue():front(0),tail(0){}
Queue::~Queue(){}
//判空
bool Queue::queue_empty()
{
    return front == tail;
}
//判满
bool Queue::queue_full()
{
    return (tail+1)%MAX==front;
}
//入队
int Queue::queue_push(int num)
{
    if(queue_full())
    {
        cout<<"入队失败"<

你可能感兴趣的:(c++)