直接上图
#pragma warning(disable:4996)
#include <stdio.h>
#include <iostream>
using namespace std;
#define MAXQUEUE 100
int queque[MAXQUEUE];
int front = -1;//对头
int rear = -1;//队尾
//队列数据存入
int enqueue(int value)
{
if (rear+1 ==front || (rear==(MAXQUEUE-1)&&front<=0))//检查队列是否全满
{
return -1;
}
rear++;
if (rear==MAXQUEUE)
{
rear = 0;
}
queque[rear] = value;
}
//出栈
int dequeue()
{
if (front==rear)//检查队列是否为空
{
return -1;
}
front++;
if (front==MAXQUEUE) //是否超过界限
{
front = 0;//从头开始
}
return queque[front];
}
int main()
{
int input[100];//存储输入数据
int output[100];//存储取出的数据
int select;
int o_count=0;
int i_count=0;
int i,temp;
int loop = 1;
while (loop)
{
printf("选择:\n");
cin >> select;
switch (select)
{
case 1:
printf("输入队列的值(%d):\n", i_count+1);
cin >> temp;
if (enqueue(temp)==-1)
{
printf("队列满");
}
else
{
input[i_count++] = temp;
cout << "输出:" << input[i_count-1] <<endl;
}
break;
case 2:
if ((temp=dequeue())==-1)
{
printf("队列为空");
}
else
{
printf("取出数据%d", temp);
output[o_count++] = temp;
cout << "输出:" << output[o_count-1] << endl;
}
break;
case 3:
loop = 0;
break;
default:
break;
}
}
printf("输入队列的元素:");
for (i = 0; i < i_count; i++)
{
printf("[%d]",input[i]);
}
printf("/n取出队列的元素");
for ( i = 0; i < o_count; i++)
{
printf("[%d]", output[i]);
}
printf("/n剩下队列的元素");
while ((temp = dequeue()) != -1)
{
printf("[%d]", temp);
}
cout << "hello world\n" << endl;
return 0;
}