数据结构中的栈和队列真的非常有用,可是自己还不会!!
#include <stdio.h>
#include <stdlib.h>
#define max_number 10
struct Seqstack
{
int arr[max_number];
int top;
};
void initstack(Seqstack *s)
{
s->top = -1;
}
int isEmpty(Seqstack *s)
{
if (s->top == -1)
{
return 1;
}
else
return -1;
}
int isFull(Seqstack *s)
{
if (s->top == max_number-1)
{
return 1;
}
else
return -1;
}
void push(Seqstack *s,int a)
{
if (isFull(s)==1)
{
printf("this stack is Full!\n");
}
else
{
s->top++;
s->arr[s->top] = a;
}
}
void pop(Seqstack *s)
{
if (isEmpty(s)==1)
{
printf("this stack is empty!\n");
}
else
{
printf("the poped data is %d\n",s->arr[s->top]);
s->top--;
}
}
int main()
{
int i,number;
Seqstack s;
initstack(&s);
for (i=0;i<max_number;i++)
{
printf("please input the number you want to push:");
scanf("%d",&number);
push(&s,number);
}
printf("the number in the stack is:\n");
for (i=0;i<max_number;i++)
{
pop(&s);
}
system("pause");
return 0;
}
给下自己刚写的栈的简单代码