队列
要求
一个数组,删除第一个元素,将第二个元素放到末尾,直到删除全部元素,得到删除的顺序。
思路
定义变量 head记录队首和变量tail记录队尾下一个位置,head++;删除队首元素,q[tail]=x;tail++;队尾添加元素。
代码
#include <stdio.h>
#define LEN 100
int main()
{
int head, tail;
int a[LEN] = {6, 3, 1, 7, 5, 8, 9, 2, 4};
head = 0;
tail = 9;
while(head < tail) {
printf("%d ", a[head]);
head++;
a[tail] = a[head];
tail++;
head++;
}
return 0;
}
改进
将队列三个元素封装为一个结构体
struct queue
{
int data[100];
int head;
int tail;
};