本文主要是介绍【坐在马桶上看算法】算法4:队列——解密QQ号--作者:ahalei,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!




1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <stdio.h> int main() { int q[102]={0,6,3,1,7,5,8,9,2,4},head,tail; int i; //初始化队列 head=1; tail=10; //队列中已经有9个元素了,tail执向的队尾的后一个位置 while (head<tail) //当队列不为空的时候执行循环 { //打印队首并将队首出队 printf ( "%d " ,q[head]); head++; //先将新队首的数添加到队尾 q[tail]=q[head]; tail++; //再将队首出队 head++; } getchar (); getchar (); return 0; } |
1 2 3 4 5 6 | struct queue { int data[100]; //队列的主体,用来存储内容 int head; //队首 int tail; //队尾 }; |

1 | struct queue q; |
1 2 3 | q.head=1; q.tail=1; scanf ( "%d" ,&q.data[q.tail]); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #include <stdio.h> struct queue { int data[100]; //队列的主体,用来存储内容 int head; //队首 int tail; //队尾 }; int main() { struct queue q; int i; //初始化队列 q.head=1; q.tail=1; for (i=1;i<=9;i++) { //依次向队列插入9个数 scanf ( "%d" ,&q.data[q.tail]); q.tail++; } while (q.head<q.tail) //当队列不为空的时候执行循环 { //打印队首并将队首出队 printf ( "%d " ,q.data[q.head]); q.head++; //先将新队首的数添加到队尾 q.data[q.tail]=q.data[q.head]; q.tail++; //再将队首出队 q.head++; } getchar (); getchar (); return 0; } |
这篇关于【坐在马桶上看算法】算法4:队列——解密QQ号--作者:ahalei的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!