7-18_HOMEWORK

 1.封装顺序栈,实现入栈,出栈,遍历,判断等功能

#include 
#include 

using namespace std;


//typedef int datatype;
typedef struct{
    int data[10];
    int top;
}stacks;


class My_stack{
private:
    int *ptr;   //执行堆区空间
    int top;    //记录栈顶元素
public:
//有参构造
    My_stack(int size,int t):ptr(new int[5]),top(-1)      //参数列表后由冒号引出
    {
    }
//析构函数
    ~My_stack(){
        delete []ptr;  //把new的那片空间释放掉,不用内存泄漏
    }

    bool fudge_empty();
    bool fudge_full();
    int push(int data);
    int pop();
    int output();
};


    //判空函数
    bool My_stack::fudge_empty(){
        if(top==-1){
            return true;
        }
    }
    //判满函数
    bool My_stack::fudge_full(){
        if(top==5){
            return true;
        }
    }
    //入栈函数
    int My_stack::push(int data){  /*int *ptr,int top,
                                   成员函数所有的成员变量都可以用的
                                     不用传参,直接拿过来用 */
        *(ptr+(top+1)) = data;
        top++;;
    }

    //出栈函数
    int My_stack::pop(){
        if(fudge_empty()==1){
            cout<<"栈空,wrong!"<>data;
            while(getchar()!='\n') ;  //按了回车就跳出循环;没有按回车的时候,就一直卡在那
            m1.push(data);
        }
    //遍历
    m1.output();
    }
//
    cout<<"请出栈" <

你可能感兴趣的:(算法,图论,c++)