C++day3作业

脑图

C++day3作业_第1张图片

 顺序栈

#include 

using namespace std;
class My_stack
{
private:
    int *ptr;   //指向堆区空间
    int top;   //记录栈顶元素

public:
    My_stack():ptr(new int[10]),top(-1) {


    };

    //有参构造
    My_stack(int size){};
    //析构函数
    ~My_stack()
    {
        delete ptr;
        ptr = nullptr;
    }

    //判满函数
    bool full(int size);

    //判空函数
    bool empty();

    //入栈函数
    int push(int data);

    //出栈函数
    int pop();
    //遍历栈
    void output();
    //获取栈顶元素的引用
    int &get_top();

};
//判满函数
bool My_stack::full(int size)
{
    if (top == size)
    {
        return 1;
    }else
    {
        return 0;
    }
}

//判空函数
bool My_stack::empty()
{
    if (top == -1)
    {
        return 1;
    }else
    {
        return 0;
    }

}

//入栈函数
int My_stack::push(int data)
{

    ptr[++top] = data;

}
//出栈函数
int My_stack::pop()
{
    int res1 = empty();
    if ( res1 == 1)
    {
        cout<<"栈空"<>size;
    int data;
    char c;

    //入栈
    while (1)
    {
        int res = stack.full(size);
        cout<<"res = "<>c;
        if ( c == 'Y' || c == 'y' )
        {
            cout<<"请输入您需要入栈的数据"<>data;
            stack.push(data);

        }else
        {
            break;
        }
    }

    //出栈


    int rcv = stack.pop();
    if ( rcv != -1)
    {
        cout<<"出栈的数据为:"<

C++day3作业_第2张图片

 

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