#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语言顺序栈的出入队
最新推荐文章于 2025-01-31 20:30:27 发布