SHAOXIAOJ正在加载中...

1649: 队列-初始化、入队列、计算长度及打印1(顺序存储)

金币值:2 定数:8 时间限制:1.000 s 内存限制:128 M
正确:10 提交:37 正确率:27.03% 命题人:
点赞量:0 收藏量:0 题目类型:程序 知识点: 数据结构-栈与队列

题目描述

#include <stdio.h>
#include <stdlib.h>

#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define MAXSIZE 100 /* 存储空间初始分配量 */
typedef int Status;
typedef int QElemType; /* QElemType类型根据实际情况而定,这里假设为int */
/* 循环队列的顺序存储结构 */
typedef struct {
	QElemType *base;
	int front;    /* 头指针 */
	int rear; /* 尾指针,若队列不空,指向队列尾元素的下一个位置 */
} SqQueue;

/* 初始化一个空队列Q */
Status InitQueue(SqQueue &Q);

/* 返回Q的元素个数,也就是队列的当前长度 */
int QueueLength(SqQueue Q);

/* 若队列未满,则插入元素e为Q新的队尾元素 */
Status EnQueue(SqQueue &Q,QElemType e);

/* 从队头到队尾依次对队列Q中每个元素输出 */
void QueueTraverse(SqQueue Q);

int main(void) {
	QElemType d;
	SqQueue Q;
	InitQueue(Q);
	scanf("%d",&d);
	while(d!=-1) {
		EnQueue(Q,d);
		scanf("%d",&d);
	}
	printf("%d\n",QueueLength(Q));
	QueueTraverse(Q);
	return 0;
}
/*以下为你的代码*/

输入格式

在一行输入若干个整型数,以-1作为结束(-1不计入总数)

输出格式

第1行:队列的当前长度
第2行:队列中数据(从头到尾)【若存在】

输入样例    复制

2 4 6 8 -1

输出样例    复制

4
2 4 6 8