大挪耗

c++类模板的示例-栈.

#include "iostream"
using namespace std;
//typedef int DataType;
 template <class DataType>
class Stack//栈类
{
private:
    DataType *items;//栈数组
    int stacksizs; //栈的实际大小
    int top;//栈顶指针。
public:
    //构造函数:1)分配数组函内存;2)把栈顶指针初始化为0.
    Stack(int size) : stacksizs(size), top(0) {
        items = new DataType[stacksizs];
    }

    ~Stack() {
        delete items;
        items = nullptr;
    }

    bool isempty() const {//判断栈是否为空。
        return top == 0;
    }

    bool isfull() const {
        //判断栈是否已满
        return top == stacksizs;
    }

    bool push(const DataType &item) {
        //元素入栈
        if (top < stacksizs) {
            items[top++] = item;
            return true;
        }
        return false;
    }

    bool pop(DataType &item) {
        //元素出栈。
        if (top > 0) {
            item = items[--top];
            return true;
        }
        return false;
    }

};
    int main(){
        Stack <string> ss(5);//创建栈的对象,大小是5。
        //元素入栈
        ss.push("小红");ss.push("小绿");ss.push("小蓝");ss.push("小明");ss.push("小金");
        //元素出栈
        string item;
        while(ss.isempty()==false){
            ss.pop(item);cout<<"item="<<item<<endl;
        }
    }

输出:

item=小金
item=小明
item=小蓝
item=小绿
item=小红


已发布

分类

可以收藏大挪耗一下。下载麻烦点城通网盘,站长保证下载速度,不会限速的,放心点就是了;分卷,安卓下载为txt:程序下载为url,不会下载参考不会下载。如果你想让本站活的久一点,请直接捐助

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注