栈,个人认为也就是对数组的一些简单操作而已,比链表简单得多
这是我的代码:
#include<stdio.h>
#define N 10
struct stack{
int top;
int data[N];
};
stack *setstack() / /建立栈
{
stack *Seqstack;
Seqstack=new stack;
Seqstack->top=-1; / /top指的是当前调用在数组之中的位置,初始化为-1
}
int empty(stack *Seqstack) / /判断栈是否为空
{
if(Seqstack->top==-1)
return 0;
else
return 1;
}
int full(stack *Seqstack) / /判断是否栈满
{
if(Seqstack->top==N-1)
return 0;
else
return 1;
}
int *push(stack *Seqstack) / /压入值
{
int n;
while(full(Seqstack))
{
scanf("%d",&n);
Seqstack->data[++Seqstack->top]=n;
}
}
int *popstack(stack *Seqstack) / /输出值
{
while(empty(Seqstack))
printf("%d\n",Seqstack->data[Seqstack->top--]);
printf("NULL\n");
}
int main()
{
stack *Seqstack=setstack();
push(Seqstack);
popstack(Seqstack);
return 0;
}
这就是栈的简单调用了。
数据结构与算法——简单的栈操作
最新推荐文章于 2021-05-24 18:01:17 发布