首页 > 解决方案 > 使用没有结构的链表打印堆栈

问题描述

我正在尝试在没有 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; 
} 


标签: c++data-structuresstack

解决方案


您可以打印数据并移动到下一个节点,直到到达最后一个节点。

代码(打印堆栈,从上到下):

void display(StackNode* root) 
{ 
    while(root!=NULL)
    {
      cout<<root->data<<'\n';
      root=root->next;
    }
}

推荐阅读