#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#define stack_size100
typedefstruct stack_node{
struct stack_node *next;
int value;
}stack_node;
static stack_node *stack;
void destroy_stack();
void push(int value);
void pop();
int top();
void create_stack(int size)
{
}
void destroy_stack()
{
while(stack)
pop();
}
void push(int value)
{
stack_node *new_node;
new_node=(stack_node *)malloc(sizeof(stack_node));
assert(new_node!=NULL);
new_node->value=value;
new_node->next=stack;
stack=new_node;
}
void pop()
{
stack_node *node;
assert(stack!=NULL);
node=stack;
stack=node->next;
free(node);
}
int top()
{
assert(stack!=NULL);
return stack->value;
}
int main()
{
push(5);
push(4);
push(3);
while(stack!=NULL)
{
printf("%d",top());
pop();
}
return 0;
}
堆栈的实现(LIFO、链表)
最新推荐文章于 2020-08-15 12:26:18 发布