#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include <windows.h>
#define Size 100
typedef char Iint;
typedef struct stack
{
Iint data;
struct stack * pnext; //不能直接使用 ListStack * ,必须使用 struct stack *
}ListStack;
void InitListStack(ListStack *); //初始化链栈
void pushListStack(ListStack *); //压栈
void popListStack(ListStack *); //出栈
int main()
{
ListStack liststack;
InitListStack(&liststack);
pushListStack(&liststack);
popListStack(&liststack);
return 0;
}
void InitListStack(ListStack * stack)
{
stack->data = 0;
stack->pnext = 0;
}
void pushListStack(ListStack * stack)
{
Iint k = 0;
printf("请输入入栈整数,按#退出");
while(k != '#')
{
scanf("%c",&k);
ListStack * temp = (ListStack *)malloc(sizeof(ListStack));
temp->pnext = stack->pnext;
temp->data = k;
stack->pnext = temp;
}
}
void popListStack(ListStack * stack)
{
while(stack->pnext != 0)
{
printf("%c" , stack->pnext->data);
printf("\n");
stack->pnext = stack->pnext->pnext;
}
}
#include<malloc.h>
#include<stdlib.h>
#include <windows.h>
#define Size 100
typedef char Iint;
typedef struct stack
{
Iint data;
struct stack * pnext; //不能直接使用 ListStack * ,必须使用 struct stack *
}ListStack;
void InitListStack(ListStack *); //初始化链栈
void pushListStack(ListStack *); //压栈
void popListStack(ListStack *); //出栈
int main()
{
ListStack liststack;
InitListStack(&liststack);
pushListStack(&liststack);
popListStack(&liststack);
return 0;
}
void InitListStack(ListStack * stack)
{
stack->data = 0;
stack->pnext = 0;
}
void pushListStack(ListStack * stack)
{
Iint k = 0;
printf("请输入入栈整数,按#退出");
while(k != '#')
{
scanf("%c",&k);
ListStack * temp = (ListStack *)malloc(sizeof(ListStack));
temp->pnext = stack->pnext;
temp->data = k;
stack->pnext = temp;
}
}
void popListStack(ListStack * stack)
{
while(stack->pnext != 0)
{
printf("%c" , stack->pnext->data);
printf("\n");
stack->pnext = stack->pnext->pnext;
}
}