一,VC队列实现 使用队列进行数据的插入、删除操作,Simple使用Array实现。 /********************************************************** * * Stack.cpp : * 1)使用数据:query[],表示一个队列,每次添加都在后面,删除都在前面 * 2)front队列头,rear队列尾 * * Author:ZengZhiHeng 332127366@qq.com * Date : 2010 - 12 -27 * *************************************************************/ #include "stdafx.h" #include "stdlib.h" #include "conio.h" #include <memory.h> #define MAX 10 char queue[MAX][20]; //队列使用数组实现 static int front = -1; //队列头 static int rear = -1; //队列尾 void insert_queue(); void del_queue(); void list_queue();; void queue_size();; int _tmain(int argc, _TCHAR* argv[]) { while (1) { printf("/n**********************************************************/n"); printf("* <1>insert * /n"); printf("* <2>out * /n"); printf("* <3>list * /n"); printf("* <4>quit * /n"); printf("**********************************************************/n"); printf("Please input you select:"); char flag = getche(); switch(flag) { case '1': insert_queue(); break; case '2': del_queue(); break; case '3': list_queue(); break; case '4': queue_size(); break; case '5': exit(1); default: printf("/nError/n"); } } return 0; } //insert data to queue void insert_queue() { if(rear < MAX) { printf("/ninput insert data:"); rear++; gets(queue[rear]); } else printf("/queue full/n"); } // delete a increment. void del_queue() { if(front <= rear) { front++; memset(queue[front],0,sizeof(queue[front])); } else printf("/queue eapty/n"); } // List queue void list_queue() { if(rear < -1) printf("/queue empty/n"); else { for(int i=front+1 ; i<=rear ; i++) printf("/n%s",queue[i]); } } //queue size0 void queue_size() { if(rear == -1) printf("queue empty! /n"); else if(front == rear) printf("queue full! /n"); else printf("queue size = %d",rear-front); }