链式栈的C++实现

部署运行你感兴趣的模型镜像

Tips:此栈栈内数据为 int 型。

//10:13:2015 by tracelessspring 

struct Node {
int data;
Node *next;
};

class linkstack {
private:
Node *first;
public:
linkstack() {
    first = NULL;
}

~linkstack() {
    makeEmpty();
}

void push(int x) {             //其实push的实现方式很重要,它决定了你的链表的组织方式,从而决定了链表的各种特性,进而影响了后面各个函数如pop,gettop等等的实现。
    Node *node = new Node;
    node->data = x;
    node->next = first;
    first = node;
}

void  pop(int &x) {
    if (first == NULL)
    {
        cout << "the stack is empty" << endl;
        exit(0);
    }
    x = first->data;
    Node *temp = first;
    first = first->next;
    delete temp;
}

int gettop() {
    return first->data;
}

bool isempty() {
    return first == NULL;
}

int getsize() {
    int size = 0;
    Node *temp = first;
    while (temp != NULL)
    {
        size++;
        temp = temp->next;
    }
    return  size;
}

void makeEmpty() {
    while (first != NULL)
    {
        Node *temp = first;
        first = first->next;
        delete temp;
    }
}

void printelement() {
    Node *temp = first;
    while (temp != NULL)
    {
        cout << temp->data << " ";
        temp = temp->next;
    }
    cout << endl;
}
};

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值