c++ - 使用没有结构的链表打印堆栈
问题描述
我正在尝试在没有 struct.Bot 的情况下使用 c++ 中的链表创建堆栈。我无法编写显示函数如何显示?非常感谢任何帮助或说明。谢谢
class StackNode {
public:
int data;
StackNode* next;
};
StackNode* newNode(int data)
{
StackNode* stackNode = new StackNode();
stackNode->data = data;
stackNode->next = NULL;
return stackNode;
}
int isEmpty(StackNode* root)
{
return !root;
}
void push(StackNode** root, int data)
{
StackNode* stackNode = newNode(data);
stackNode->next = *root;
*root = stackNode;
cout << data << " pushed to stack\n";
}
int peek(StackNode* root)
{
if (isEmpty(root))
return INT_MIN;
return root->data;
}
解决方案
您可以打印数据并移动到下一个节点,直到到达最后一个节点。
代码(打印堆栈,从上到下):
void display(StackNode* root)
{
while(root!=NULL)
{
cout<<root->data<<'\n';
root=root->next;
}
}
推荐阅读
- javascript - 在 for 循环中减少方法 - JS
- jupyter-notebook - 在 Jupyter Notebook 中嵌入 CloudApp 映像
- java - 编写一个仅使用 while 循环打印数字金字塔的 java 程序
- laravel - 使用 Backpack for Laravel 使用多个 Guards 进行 Laravel 身份验证
- php - 使用没有扩展名的 PHP 页面体验无写入权限
- node.js - 具有firebase功能的节点js不返回任何内容
- restheart - 创建一个休息中心 MongoInterceptor
- javascript - 如何为node.js中promise的回调函数提供文件描述符?
- if-statement - 为什么此 Google 表格 IF 语句返回“#Value”而不是“0”
- spring - Spring Boot API如何验证请求标头中发送的NONCE值以避免重放攻击