#include <stdio.h>
#include <stdlib.h>
typedef struct LineStack///定义结构体
{
char data;///定义数据域
struct LineStack *next;///定义头指针
} LineStack;
LineStack *Push(LineStack *ls,char a)///入栈
{
LineStack *s = (LineStack *)malloc(sizeof(LineStack));///申请新结点空间
s->data = a;///赋值a;
s->next = ls;
ls = s;
return ls;
}
LineStack *Poo(LineStack *ls)
{
if (ls)
{
LineStack * p=ls;
ls = ls->next;
printf("弹栈元素:%c ",p->data);
if (ls)
{
printf("栈顶元素:%c\n",ls->data);
}
else
{
printf("栈已空\n");
}
free(p);
}
else
{
printf("栈内没有元素");
}
return ls;
{
LineStack *ls = NULL;
ls = Push(ls,'a');
ls = Push(ls,'b');
ls = Push(ls,'c');
ls = Push(ls,'d');
ls = Poo(ls);
ls = Poo(ls);
ls = Poo(ls);
ls = Poo(ls);
ls = Poo(ls);
return 0;
}
#include <stdlib.h>
typedef struct LineStack///定义结构体
{
char data;///定义数据域
struct LineStack *next;///定义头指针
} LineStack;
LineStack *Push(LineStack *ls,char a)///入栈
{
LineStack *s = (LineStack *)malloc(sizeof(LineStack));///申请新结点空间
s->data = a;///赋值a;
s->next = ls;
ls = s;
return ls;
}
LineStack *Poo(LineStack *ls)
{
if (ls)
{
LineStack * p=ls;
ls = ls->next;
printf("弹栈元素:%c ",p->data);
if (ls)
{
printf("栈顶元素:%c\n",ls->data);
}
else
{
printf("栈已空\n");
}
free(p);
}
else
{
printf("栈内没有元素");
}
return ls;
}
int main(){
LineStack *ls = NULL;
ls = Push(ls,'a');
ls = Push(ls,'b');
ls = Push(ls,'c');
ls = Push(ls,'d');
ls = Poo(ls);
ls = Poo(ls);
ls = Poo(ls);
ls = Poo(ls);
ls = Poo(ls);
return 0;
}