C++(day3)

思维导图:

 封装顺序栈:

stack.h

#ifndef STACK_H
#define STACK_H

#include 

using namespace std;

#define MAX 5
typedef int datatype;

class Stack{
public:
    //构造函数
    Stack();
    //析构函数
    ~Stack();
    //拷贝构造函数
    Stack(const Stack &other);
    //入栈
    int push(datatype e);
    //出栈
    int pop();
    //清空栈
    void clear();
    //判空
    bool empty();
    //判满
    bool full();
    //获取栈顶元素
    datatype topdata();
    //求栈的大小
    int size();
private:
    datatype *data;
    int top;
};

#endif // STACK_H

stack.cpp

#include"stack.h"

//构造函数
Stack::Stack():data(new datatype[MAX]),top(-1){
    cout<<"构造函数"<

main.cpp

#include"stack.h"

int main()
{
    Stack s;
    s.push(1);
    s.push(2);
    s.push(3);
    s.push(4);
    s.push(5);
    s.push(6);
    cout<

效果图

C++(day3)_第1张图片

封装循环队列:

queue.h

#ifndef QUEUE_H
#define QUEUE_H

#include 
typedef int datatype;
#define MAX 5

using namespace std;

class Queue{
public:
    //构造函数
    Queue();
    //析构函数
    ~Queue();
    //拷贝构造函数
    Queue(const Queue &other);
    //入队
    int push(datatype e);
    //出队
    int pop();
    //清空队列
    void clear();
    //判空
    bool empty();
    //判满
    bool full();
    //求队列大小
    int size();

private:
    int front;
    int tail;
    datatype *data;
};

#endif // QUEUE_H

queue.cpp

#include"queue.h"

//构造函数
Queue::Queue():front(0),tail(0),data(new datatype[MAX])
{
    cout<<"构造函数"<

main.cpp

#include"queue.h"

int main()
{
    Queue q;
    q.push(1);
    q.push(2);
    q.push(3);
    q.push(4);
    q.push(5);
    cout<

效果图

C++(day3)_第2张图片

你可能感兴趣的:(c++,开发语言)