时间:2018/07/26晚20:12
测试代码:
#include <stdio.h>
#include <stdlib.h>
typedef int ElemType;
typedef struct linkStack{
ElemType data;
struct linkStack *next;
}linkStack;
void initLinkStack(linkStack *L);
int linkStackPush(linkStack *L,ElemType e);
int linkStackPop(linkStack *L);
int main()
{
linkStack L;
initLinkStack(&L);
linkStackPush(&L,1);
linkStackPop(&L);
linkStackPop(&L);
return 0;
}
void initLinkStack(linkStack *L){
L->next = NULL;
printf("initLinkStack is ok!\n"); //当初没有初始化为null时,pop多了程序不能到stack is null 的代码区
}
int linkStackPush(linkStack *L,ElemType e){
linkStack *p;
if((p = (linkStack *)malloc(sizeof(linkStack))) == NULL){
return 0;
}
p->data = e;
p->next = L->next;
L->next = p;
printf("push %d is ok!\n",e);
return 1;
}
int linkStackPop(linkStack *L){
ElemType m;
linkStack *p;
if(L->next == NULL){
printf("stack is null\n");
return 0;
}
p = L->next;
m = p->data;
L->next = p->next;
//L-next = L->next->next; 呵呵,这个失败了
printf("pop %d is ok!\n",m);
free(p);
return 1;
}