- #include <stdio.h>
- #include <stdlib.h>
- #define MAX_SIZE 1000
- typedef int elem;
- //循环队列
- //队列基本结构:先进后出。尾进头出
- elem queue_arr[MAX_SIZE];
- int front = -1;
- int rear = -1;
- //入队列
- void enqueue(elem e){
- if(rear+1 == front){
- printf("队列已满");
- exit(-1);
- }
- //注意队列的index
- if(rear == MAX_SIZE){
- rear = 0;
- }
- queue_arr[++rear] = e;
- }
- //出队列
- elem dequeue()
- {
- if(front == rear)
- {
- printf("队列为空");
- exit(-1);
- }
- if(front == MAX_SIZE)
- {
- front = 0;
- }
- return queue_arr[front++];
- }
- //打印队列
- void print_queue(){
- int i;
- printf("\\nprint queue:\\n");
- if(front < 0){
- front = 0;
- }
- for(i = front;i<=rear;i++){
- printf("%d:%d\\t",i,queue_arr[i]);
- }
- printf("\\n");
- }
- int main()
- {
- int i;
- for(i=1;i<10;i++){
- enqueue(i);
- }
- print_queue();
- printf("%d,%d\\n",front,rear);
- printf("\\ndequeue:%d\\n",dequeue());
- print_queue();
- return 1;
- }
- //该片段来自于http://www.codesnippet.cn/detail/2210201410776.html
来源: http://www.codesnippet.cn/detail/2210201410776.html