C语言列出叶节点的一道实验题老说格式错误,但是格式自己试过了没错,后面是没空格的
发布网友
发布时间:2022-04-24 18:34
我来回答
共1个回答
热心网友
时间:2023-11-01 23:10
看不懂你main函数要看什么,乱糟糟的。
吧前面部分代码稍微修改了一点点。
#include<stdio.h>
#include <stdbool.h>
#include <malloc.h> //队列
#include <assert.h>
struct Node{
int front,reat;
int *data;
int Maxsize;
};
typedef struct Node *Queue;
//创建队列
Queue CreatQueue(int Maxsize){
Queue Q = (Queue)malloc(sizeof(struct Node));
Q->data=(int *)malloc(Maxsize*sizeof(int));
Q->front=Q->reat=0;
Q->Maxsize=Maxsize;
return Q;
}
//判断队满
bool IsFull(Queue Q){
assert(Q);
if((Q->reat+1)%Q->Maxsize == Q->front)
return true;
return false;
}
//判断队空
bool IsEmpty(Queue Q){
assert(Q);
if(Q->reat==Q->front)
return true;
return false;
}
//入队
void AddQ(Queue Q , int number){
assert(Q);
if(IsFull(Q)){
printf("队满,无法入队");
return;
}
Q->reat=(Q->reat+1) % Q->Maxsize;
Q->data[Q->reat]=number;
}
//出队
int Delete(Queue Q){
assert(Q);
assert(!IsEmpty(Q));
Q->front=(Q->front+1)%Q->Maxsize;
return Q->data[Q->front];
}