栈(外部变量的实现)
include <stdbool.h>
include <stdio.h>
include <stdlib.h>
define STACK_SIZE 10
int content[STACK_SIZE];
int top=0;//栈最高的位置
void make_empty(void)
{
top=0;//让栈清空
}
bool is_empty(void)
{
return top==0;//判断栈是否为空
}
bool is_full(void)
{
return top==STACK_SIZE;//判断栈是否已满
}
void push(int i)//压栈
{
if(is_full()) printf("can't push\n");
else content[top++]=i;
}
int pop(void)//弹栈
{
if(is_empty()) return -1;
else return content[--top];
}
int main()
{
int temp;
for(int i=0;;i++)
{
scanf("%d",&temp);
push(temp);
if(getchar()=='\n') break;
}
for(int i=0;;i++)
{
int mid=pop();
if(mid==-1) break;//判断弹出完毕
printf("%d ",mid);
}
}
想不到这个栈有什么应用,如何控制,就弱智地挂在这吧。。。。。。

浙公网安备 33010602011771号