#include<iostream.h>
#define maxsize 100
typedef struct queue
{
int data[maxsize];
int head;
int tail;
}Queue;
void init(Queue *l)
{ l->head=-1;
l->tail=-1;}
void empty(Queue l)
{ if(l.head==-1&&l.tail==-1)
cout<<"队列为空!\n";
else cout<<"队列不为空!\n";}
void inqueue(Queue *l,int i)
{
if(l->tail+i>=maxsize-1)
cout<<"要入队的元素过多,请重新输入!";
else
{ cout<<"输入你要入队的"<<i<<"个数据\n";
for(int a=0;a<i;a++)
cin>>l->data[++l->tail];
}
}
void outqueue(Queue *l,int j)
{
if(l->head+j>l->tail)
cout<<"队列中没有足够多元素来输出\n";
else
{
cout<<"输出队列中的"<<j<<"个元素:\n";
for(int a=0;a<j;a++)
cout<<l->data[++l->head]<<' ';
}cout<<'\n';
}
void print(Queue *l)
{cout<<"队列中元素如下:\n";
for(;l->head<l->tail;)
cout<<l->data[++l->head]<<' ';
cout<<'\n';}
void main()
{
int i,j;
Queue k;
init(&k);
empty(k);
cout<<"请输入要入队的个数\n";
cin>>i;
inqueue(&k,i);
cout<<"请输入要出队的个数\n";
cin>>j;
outqueue(&k,j);
print(&k);
}
采用顺序存储实现队列的初始化、入队、出队操作。/验证实验/
于 2018-06-25 09:10:50 首次发布