C++ -day3

1、自行封装一个栈的类

头文件

#ifndef ZY1_H
#define ZY1_H

#include 

using namespace std;

class Stack
{
private:
    int *p = nullptr;      //存储栈的数组
    int top;               //栈顶元素的下标
    int max;

public:

    //定义析构函数
    ~Stack();

    //定义拷贝构造函数
    Stack(const Stack &other);

    //创建栈
    Stack(int max);

    //判空
    bool stack_empty();

    //判满
    bool stack_full();

    //入栈
    int stack_push(int e);

    //出栈
    int stack_pop();

    //获取栈顶元素
    int stack_top();

    //栈的大小
    void stack_getsize();

    //清空栈
    int stack_delete();
};

#endif // ZY1_H

源文件:

#include "zy1.h"


//定义析构函数
Stack::~Stack()
{
    delete []p;              //释放成员指针的空间

    cout<<"Stu::析构函数:"<

测试文件:

#include "zy1.h"

int main()
{
    //设置栈存储的最大值max
    int m;
    cout<<"设置栈的大小"<>m;

    Stack s1(m);
    int e;
    int n;

    //判空
    s1.stack_empty();

    //入栈
    cout<<"请输入要入栈的个数:";
    cin>>n;

    for(int i=0;i>e;
        s1.stack_push(e);
    }
    s1.stack_top();
    s1.stack_getsize();

    cout<

2、自行封装一个队列的类

#ifndef ZY2_H
#define ZY2_H

#include 
#define MAX 128

using namespace std;
class Queue
{
private:
    int *p;         //队列的数组
    int tail;       //记录队尾元素
    int head;       //记录对头元素
    int max;        //队列元素的最大数量
public:

    //析构函数
    ~Queue();

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

    //初始化
    Queue(int size);

    //判空
    bool queue_empty();

    //判满
    bool queue_full();

    //入队
    int queue_push(int e);

    //出队
    int queue_pop();

    //清空队列
    int queue_delete();

    //队列的大小
    void queue_getsize();

};


#endif // ZY2_H

源文件:

#include "zy2.h"

//初始化
Queue::Queue(int size)
{
    max = size;
    p = new int[max];       //构造函数
    head = -1;
    tail = -1;
}

//定义析构函数
Queue::~Queue()
{
    delete []p;              //释放成员指针的空间

    cout<<"Stu::析构函数:"<

测试文件:

#include "zy2.h"

int main()
{
    //设置队列存储的最大值max
    int m;
    cout<<"设置队列的大小"<>m;

    Queue q1(m);
    int e;
    int n;
    q1.queue_empty();
    cout<<"请输入要入队的个数:";
    cin>>n;
    for(int i=0;i>e;
        q1.queue_push(e);
    }
     q1.queue_getsize();

    cout<

 3、思维导图

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