用链表实现栈
#include"stdio.h"
#include"stdlib.h"
typedef struct node
{
int id;
struct node *next;
}NODE;
NODE *init()
{
NODE* p = (NODE*)malloc(sizeof(NODE));
p->id = 0;
p->next = NULL;
return p;
}
void insert(NODE* head, int data)
{
NODE* p = (NODE*)malloc(sizeof(NODE));
p->id = data;
p->next = head->next;
head->next = p;
}
int del(NODE* head)
{
int tmp;
tmp = head->next->id;
NODE* p = head->next;
head->next = p->next;
free(p);
return tmp;
}
int main()
{
NODE* head = init();
for (int i = 0; i < 10; i++)
{
insert(head, i + 1);
}
for (int i = 0; i < 10; i++)
{
printf("%d ", del(head));
}
free(head);
head = NULL;
return 0;
}