-->
当前位置:首页 > 题库 > 正文内容

程序填空题:队列实现

Luz3年前 (2021-12-31)题库3084
本题要求实现一个普通顺序队列。

当输入1 2 3 -1时,输出为1 2 3 。

当输入为1 2 3 4 5 6 7 8 9 10 11 -1时,输出为

queue is full!

1 2 3 4 5 6 7 8 9 10

请填空。

c++

#include <stdio.h>
#include <stdbool.h>

#define MaxSize 10
int q[MaxSize];
int front;
int rear;

//空队列返回true,否则返回false
bool empty() {
return ;
}
//队列满返回true,否则返回false
bool full() {
return rear + 1 == MaxSize;
}
//入队列
void push(int x) {
++rear;
q[rear] = x;
}
//取队首元素
int getFront() {
return ;
}
//出队列
void pop() {
++front;
}

int main(int argc, char const *argv[])
{
int i;
; //初始化队列

while (scanf("%d", &i) != EOF) {
if (i == -1)break;
if (!full()) //队列未满时
push(i); //入队列
else
printf("queue is full!\n");
}
while (!empty()) { //输出队列元素
printf("%d ", getFront());
pop();
}
printf("\n");

return 0;
}







答案:
第1空:front == rear

第2空:q[front + 1]

第3空:front = rear = -1

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。