zoukankan      html  css  js  c++  java
  • 数据结构3_顺序栈

    顺序栈的实现,包含分配地址空间,出栈,入栈,显示等功能函数

     
    #include<iostream>
    #define STACK_INIT_SIZE 100;
    #define STACKINCREMENT 10;
    using namespace std;
    class SqlStack
    {
        char **base;
        char **top;
        int stacksize;
    public:
        SqlStack()
        {
            base=new char*[100];   //这里[]中本来应输入STACK_INIT_SIZE,单是程序始终报错,不知道是不是二重指针的关系,
            if(!base)
            {
                cout<<"OVERFLOW"<<endl;
                return;
            }
            top=base;
            stacksize=STACK_INIT_SIZE;
        
        }
        void push(char *e)
        {
            if(top-base>=stacksize)
            {
                cout<<"OVERFLOW"<<endl;
                return;
            }
            *this->top=new char(sizeof(e)+1); 
            strcpy(*this->top,e);
            top++;
        }
        void pop(char *&e)
        {
            if(top==base)
            {
                cout<<"the stack is empty"<<endl;
                return;
            }
            e=new char(sizeof(*top)+1);
            strcpy(e,*--top);
        }
        void show()
        {
            while(top!=base)
            {
                cout<<*--top<<endl;
            }
        }
    };
    void main()
    {
        SqlStack a;
        a.push("stack1");
        a.push("test");
        a.push("lock");
        char *out;
        a.pop(out);
        cout<<out<<endl;
        a.push("test123");
        a.show();
    }





  • 相关阅读:
    大爆炸集成 Big Bang
    How:怎么做集成测试
    Where:对什么部分做集成测试
    web预览图片
    对象的属性赋值
    Web请求
    Sql Server 获取数据库最近执行的操作
    服务安装脚本
    生成并保存二维码图片,此方法最清晰
    c# get,set设置默认值
  • 原文地址:https://www.cnblogs.com/zhuangwy-cv/p/3737156.html
Copyright © 2011-2022 走看看