真燃烧者之魂:请问这道题什么地方有不妥的阿??

来源:百度文库 编辑:高校问答 时间:2024/04/29 09:17:09
#include "iostream.h"

class queue{
int q[100];
int sloc,rloc;
public:
queue();
void qput(int i);
int qget();
};

queue::queue()
{
sloc=rloc=0;
cout<<"queue initialized\n";
}

void queue::qput(int i)
{
if(sloc==100)
{
cout<<"queue is full\n";
return;
}
sloc++;
q[sloc]=i;
}

int queue::qget()
{
if(rloc==sloc)
{
cout<<"queue is empty\n";
return 0;
}
rloc++;
return q[rloc];
}

3main()
{
queue a,b;
a.qput(10);
b.qput(20);
a.qput(20);
b.qput(19);
cout<<a.qget()<<" ";
cout<<a.qget()<<"\n";
cout<<b.qget()<<" ";
cout<<b.qget()<<"\n";
return 1;
}

上课的时候我们老师说这个有不好的地方,不过没有听到,请帮忙看下!!

我看到这个队列似乎会浪费第一个空间(q[0]无法存储)。另外,这个还可以做成循环队列,这样子伸缩性更好。具体就是使用求模控制进出队列。