gpt4 book ai didi

c++ - C++ 堆栈的简单 PUSH 函数

转载 作者:行者123 更新时间:2023-11-28 05:02:28 25 4
gpt4 key购买 nike

<分区>

我正在尝试使用链表在 C++ 中实现一个简单的堆栈,但我完全被 PUSH() 函数难住了。我整晚都在研究它,它几乎把我逼疯了。它应该在堆栈的顶部插入一个元素,但我尝试实现的每一种方式都有问题。我的相关代码摘录如下:

template <typename T>
struct NODE{
T data;
NODE<T> *next;
}

template <typename T>
void PUSH(T x, NODE<T> *S){
NODE<T> *tmp = new NODE<T>;
tmp->data = x;
tmp->next = S;
S = tmp;
}

int main(){
NODE<int> *test = new NODE<int>;
test->data = 111;
test->next = NULL;
PUSH(99, test);
PUSH(88, test);
std::cout << test->data << std::endl;
}

我希望最后一行打印出 88,但它却打印出 111。当我尝试访问下一个元素时,我得到了一个段错误,很明显我一定是做错了什么。也许我只是累了,但希望你们中的一个人能对我搞砸的地方有所启发,这对我来说似乎是正确的。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com