栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++数据结构——顺序栈

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++数据结构——顺序栈

主页有其他数据结构内容(持续更新中)

代码:
#include
using namespace std;


template
class Stack
{
    T* s;
    int topnum;
    int capacity;

public:
    Stack(int stackCapacity = 100);
    void push(const T& item);
    void pop();
    bool empty()const;
    T top();
    int size();
    ~Stack();
};


template
Stack::Stack(int stackCapacity):capacity(stackCapacity) {
    topnum = -1;
    s = new T[capacity];
}


template
Stack::~Stack() {
    delete[]s;
}


template
void Stack::push(const T &item) {
    if (topnum == capacity - 1) {
        cout << "Overflow" << endl;
    }
    else{
        s[++topnum] = item;
    }
}


template
void Stack::pop() {
    if(topnum == 0){
        cout << "Underflow" << endl;
    }
    else{
        topnum--;
    }
}


template
bool Stack::empty() const {
    return topnum == -1;
}


template
int Stack::size() {
    return topnum + 1;
}


template
T Stack::top() {
    if (topnum == -1){
        cout << "Stack is empty!" << endl;
    }
    else{
        return s[topnum];
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/883174.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号