#include <iostream>
#include <list>
using namespace std;
struct Node
{
int data;
Node* next;
};
Node* initStack()
{
Node* node = (Node*)malloc(sizeof(Node));
node->data = 0;
node->next = nullptr;
return node;
}
int isEmpty(Node* stack)
{
if (stack->data == 0 || stack->next == nullptr)
{
return 1;
}
return 0;
}
void push(Node* stack, int data)
{
Node* node = (Node*)malloc(sizeof(Node));
node->data = data;
node->next = stack->next;
stack->next = node;
stack->data++;
}
Node* pop(Node* stack)
{
Node* node = stack->next;
if (node != nullptr)
{
stack->data--;
stack->next = node->next;
}
return node;
}
void printStack(Node* node)
{
cout << "size:" << node->data << endl;
Node* head = node;
while (node->next != nullptr)
{
node = node->next;
cout << node->data << endl;
}
cout << "null" << endl;
}
int main()
{
Node* stack = initStack();
push(stack, 1);
push(stack, 2);
push(stack, 3);
push(stack, 4);
push(stack, 5);
printStack(stack);
Node* node = pop(stack);
cout <<"pop:" << node->data << endl;
node = pop(stack);
cout << "pop:" << node->data << endl;
node = pop(stack);
cout << "pop:" << node->data << endl;
printStack(stack);
system("pause");
}
数据结构—栈
最新推荐文章于 2024-08-02 18:11:08 发布