C++中栈和顺序队列

1> 自行封装一个栈的类,包含私有成员属性:栈的数组、记录栈顶的变量

成员函数完成:构造函数、析构函数、拷贝构造函数、入栈、出栈、清空栈、判空、判满、获取栈顶元素、求栈的大小

2> 自行封装一个循环顺序队列的类,包含私有成员属性:存放队列的数组、队头位置、队尾位置

成员函数完成:构造函数、析构函数、拷贝构造函数、入队、出队、清空队列、判空、判满、求队列大

#include 
#define MAX 5
using namespace std;

class Stack
{
private:
    int top;
    int *data;
public:
    //构造函数
    Stack ();
    //析构函数
    ~Stack();
    //拷贝函数
    Stack(const Stack &other);
    //判满
    bool stack_empty();
    //判空
    bool stack_equll();
    //入栈
    int stack_push();
    //遍历
    void stack_show();
    //出栈
    int stack_pop();
    //清空栈
    int stack_del();
    //获取栈顶元素

    int *stack_top();
    //求栈的大小
    int stack_size();
};

Stack::Stack ():top(-1), data(new int[MAX])
{
    cout<<"构造函数"<data[i] = other.data[i];
    }
    cout<<"拷贝成功"<top == -1)
    {
        return true;
    }
    return false;
}
bool Stack::stack_equll()
{
    if(this->top == MAX -1)
    {
        return true;
    }
    return false;
}
int Stack::stack_push()
{
    if(stack_equll() == true)
    {
        cout<<"进栈失败"<top++;
    int a;
    cout<<"请输入入栈元素"<>a;
    data[top] = a;
    return 0;
}
void Stack::stack_show()
{
    if(stack_empty() == true)
    {
        cout<<"遍历失败"<top];
    this->top--;
    cout<<"弹出成功 e =  "<= 0; i--)
    {
        cout<<"删除元素为 data[i] = "<top == -1)
        {
            cout<<"栈被清空"<#include 
#define MAX 8
using namespace std;
class Queue
{
private:
    int front;
    int tail;
    int *data;

public:
    //构造函数
    Queue();

    //析构函数
    ~Queue();

    //拷贝构造函数
    Queue(const Queue &other);

    //判空
    bool queue_empty();

    //判满
    bool queue_full();

    //入队
    int queue_push();

    //遍历
    void queue_show();

    //出队
    int queue_pop();

    //队列大小
    int queue_size();

    //清空队列
    int queue_del();

};
//构造函数
Queue::Queue():front(0), tail(0), data(new int[MAX])
{
    cout<<"构造函数"<>a;
    data[tail] = a;
    tail = (tail+1)%MAX;
    return 0;
}
//遍历
void Queue::queue_show()
{
    if(queue_empty() == true)
    {
        cout<<"遍历失败"<

你可能感兴趣的:(c++,数据结构)