程序填空题:出循环队列
本题目要求Out_SeQueue (c_SeQueue *q , datatype *x)函数将 出循环队列的值送给变量x。出队成功返回1,否则返回-1。
```c++
#include
#include
#define MAXSIZE 1024
typedef int datatype;
typedef struct {
datatype data[MAXSIZE]; /*数据的存储区*/
int front,rear; /*队头队尾指针*/
int num; /*队中元素的个数*/
}c_SeQueue; /*循环队*/
int Out_SeQueue (c_SeQueue *q , datatype *x)
{
if (q->num==0)
{
printf("The c+SeQueue is empty");
return -1;
}
else
{
q->front=@@[(q->front+1) % MAXSIZE](3);
*x=q->data[q->front];
@@[q->num--](3);
return 1;
}
}
```
答案:
第1空:(q->front+1) % MAXSIZE
第2空:q->num--
```c++
#include
#include
#define MAXSIZE 1024
typedef int datatype;
typedef struct {
datatype data[MAXSIZE]; /*数据的存储区*/
int front,rear; /*队头队尾指针*/
int num; /*队中元素的个数*/
}c_SeQueue; /*循环队*/
int Out_SeQueue (c_SeQueue *q , datatype *x)
{
if (q->num==0)
{
printf("The c+SeQueue is empty");
return -1;
}
else
{
q->front=@@[(q->front+1) % MAXSIZE](3);
*x=q->data[q->front];
@@[q->num--](3);
return 1;
}
}
```
答案:
第1空:(q->front+1) % MAXSIZE
第2空:q->num--