@ghostfn1
2016-07-23T07:45:48.000000Z
字数 572
阅读 1868
C++ 算法
Update Time:160723 Afternoon Saturday.
队列是一种特殊的线性结构,只允许在队列的首部(head)进行删除操作,称为“出队”,在尾部(tail)只允许进行插入操作,称为“入队”。
先将队列的三个基本元素封装为一个结构体类型,队列的主体为data[100],引入整型变量head、tail来记录队列的队首、队尾。再定义结构体变量q,进行一系列的队列操作。
代码如下[1]:
#include <stdio.h>struct queue{int data[100];int head;int tail;};int main(){struct queue q;int i;//Initializationq.head=1;q.tail=1;for(i=1;i<=9;i++){scanf("%d",&q.data[q.tail]);q.tail++;}while(q.head<q.tail){//printf headprintf("%d ",q.data[q.head]);q.head++;q.data[q.tail]=q.data[q.head];q.tail++;q.head++;}getchar();getchar();return 0;}
如:
输入:
1 2 3 4 5 6 7 8 9
结果:
1 3 5 7 9 4 8 6 2