C++队列问题 急求答案 C+高手进

来源:百度知道 编辑:UC知道 时间:2024/05/09 17:26:43
定义一个类:队列queue,要求实现使用类创建类A,B,向队列A,B实例中分别插入10,20和20,19,然后分别删除一个队列中的数(即队头)完成后从A,B中输出数据并显示?
class queue
{
int q[100]; // 队列空间
int head, trail; // 队列头、尾指示
public:
void qput(int i); // 队列插入操作
int qget(); // 队列取出操作
};

class queue
{
public:
int q[100]; // 队列空间
int head, tail; // 队列头、尾指示, LZ的错别字..trail
queue();//构造函数,用于初始化
void qput(int i); // 队列插入操作
int qget(); // 队列取出操作,这个是删队尾的程序吧,LZ写的不太清楚.
};

queue::queue()//初始化
{
for(int i=0;i<100;i++)
q[i]=0;
head=0;
tail=0;

void queue::qput(int i)
{
q[trail]=i;
tail++;
}
int queue::qget()
{
tail--;
}

上面类的定义就完成了.
下面在主程序中操作.
queue A,B;
A.qput(10);
A.qput(20);
B.qput(20);
B.qput(19);

A.qget();
B.qget();

//下面输出数据

printf("A:");
for(int i=0;i<A.tail;i++)
printf("%d, ",A.q[i]);

printf("B:");
for(int j=0;j<B.tail;j++)
printf("%d, ",B.q[j]);

void qput(int i)
{
q[trail]=i;
trail++;
}
int qget()
{
trail--;
}