数据结构——栈
栈是一种先进后出的数据结构,就像往杯子里放东西,需要先拿出后放进去的东西,然后才能拿到最先放进出的东西,如下图
我们依次把1、2、3放入这个杯子里,拿出来的时,只能按照倒序依次拿出来,这便种数据结构便被称之为栈。
其代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<limits.h>
#define error INT_MIN
#define true 1
#define flase 0
#define input_size 5 //输入数据的个数
const int maxn=1000+5;//栈的大小
int num[maxn];//栈的空间
int rear=-1;//栈的初始化的下标
//入栈操作
int push_stack(int val){
if(rear>maxn-1)return error;//如果栈的空间已满就返回错误码
return num[++rear]=val;
}
int pop_stack(){
if(rear<0)return error;//如果栈已空就返回错误码
return num[rear--];
}
int main(){
int i,val;
for(i=0;i<input_size;i++)//输入数据
{
scanf("%d",&val);
push_stack(val);
}
for(i=0;i<input_size;i++){//输出数据
printf("%d ",pop_stack());
}
getchar();
return 0;
}
入栈的操作相当于往杯子里面放东西,而出栈的操作相当于往杯子拿东西