#include <stdio.h>
#include <stdlib.h>
typedef struct stacknode
{
int data;
struct stacknode * next;
}StackNode,* StackLink;
StackLink Init_StackLink();
void Push_StackLink(StackLink S,int e);
int Pop_StackLink(StackLink S);
void Destory_Stack(StackLink S);
StackLink Init_StackLink()
{
StackLink SL;
SL = (StackLink)malloc(sizeof(StackNode));
SL->next = NULL;
return SL;
}
void Push_StackLink(StackLink S,int e)
{
StackLink p = (StackLink)malloc(sizeof(StackNode));
p->data = e;
p->next = S->next;
S->next = p;
}
int Pop_StackLink(StackLink S)
{
StackLink p = NULL;
int d = 0;
if(S->next == NULL)
{
printf("error");
return NULL;
}
p = S->next;
d = p->data;
S->next = p->next;
p->next = NULL;
free(p);
return d;
}
void Destory_Stack(StackLink S)
{
StackLink p = S->next;
while (p != NULL)
{
free(S);
S = p;
p = p->next;
}
}
int main()
{
StackLink S = Init_StackLink();
Push_StackLink(S,2);
Push_StackLink(S,99);
printf("%d ",Pop_StackLink(S));
printf("%d ",Pop_StackLink(S));
Destory_Stack(S);
return 0;
}
数据结构:栈(链表实现)
于 2023-10-30 17:31:54 首次发布