#include <stdio.h>
#include "stdlib.h"
int enQueue(int *a,int rear,int data){ //入队 数组a 队尾 数据
a[rear]=data; //a[0]=元素
rear++; //每入一次队尾+1
return rear; //返回队尾
}
void deQueue(int *a,int front,int rear){ //出队
//如果 front==rear,表示队列为空
while (front!=rear) {
printf("出队元素:%d\n",a[front]); //a[0] 先进先出
front++; //队头+1 依次打印出队
}
}
int main() {
int a[100]; //定义个够大的数组
int front,rear; //定义队头队尾
//设置队头指针和队尾指针,当队列中没有元素时,队头和队尾指向同一块地址
front=rear=0;
//入队
rear=enQueue(a, rear, 1);
rear=enQueue(a, rear, 2);
rear=enQueue(a, rear, 3);
rear=enQueue(a, rear, 4);
//出队
deQueue(a, front, rear);
return 0;
}
顺序队列(进队出队)
最新推荐文章于 2022-09-04 16:35:55 发布