博主由于某种原因很久没写代码了,所以今天简简单单用C语言写了个入栈出栈的代码。
#include <stdio.h>
#define Elemytype int
#define Maxsize 50
#define True 1
#define Flase 0
typedef struct Seq_stack{
Elemytype data[Maxsize];
Elemytype Top;
}Seq_stack;
Elemytype Push_stack(Seq_stack *Stack,Elemytype num);
Elemytype Pop_stack(Seq_stack *Stack,int *num);
int main(void)
{
Seq_stack Stack;
Stack.Top = 0;
int num = 0;
printf("%d",Push_stack(&Stack,num));
num = 1;
printf("%d",Pop_stack(&Stack,&num));
printf("%d",num);
return 0;
}
Elemytype Push_stack(Seq_stack *Stack,Elemytype num)
{
if (Stack -> Top >= Maxsize - 1)
{
printf("%s","Stackoverflow");
return Flase;
}
Stack -> data[++(Stack -> Top)] = num;
return True;
}
Elemytype Pop_stack(Seq_stack *Stack,int *num)
{
if(Stack -> Top == -1)
{
printf("%s","Stack Empty");
return Flase;
}
*(num) = Stack -> data[(Stack -> Top)--];
return True;
}
Elemytype Get_top(Seq_stack *stack,int *num)
{
if(Stack -> Top == -1)
{
printf("%s","Stack Empty");
return Flase;
}
*num = stack -> data[stack -> Top];
return True;
}
|