#include<stdio.h>
#include<stdlib.h>
#define max 1000
typedef struct{
int elem[max];
int rear,front;
}SeQueue;
//初始化(初始化前後指針的位置)
SeQueue *InitStack(){
SeQueue *q=(SeQueue *)malloc(sizeof(SeQueue));;
q->front=0;
q->rear=0;//隊頭和隊尾相等即爲空隊列
return q;
}
//入隊操作
int Enter(SeQueue *q,int x){
q->rear++;
q->elem[q->rear]=x;
return 1;
}
//出隊操作
int Out(SeQueue *q,int x){
q->front++;
x=q->elem[q->front];
return x;
}
main(){
SeQueue *q=InitStack();
int x;
scanf("%d",&x);
while(x!=-1){
Enter(q,x);
scanf("%d",&x);
}
int y,a;
Out(q,y);
for(int i=0;i<q->rear-1;i++){
a=Out(q,y);
printf("%d ",a);
}
}
C語言順序棧的出入隊
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.