实验内容:
1.建立顺序循环队列,并在顺序循环队列上实现入队、出队基本操作(验证性内容)。
2.建立链队列,并在循环链队列上实现入队、出队基本操作(设计性内容)。
顺序循环队列:
//顺序循环队列(少用一个存储空间)
#include"stdio.h"
#include"stdlib.h"
#define INITSIZE 5
#define INCREMENT 20
typedef int elemtype;
typedef struct {
elemtype* base;
int front;//头
int rear;//尾
int queuesize;
}sqqueue;
//初始化
void init(sqqueue* s) {
s->base = (elemtype*)malloc(sizeof(elemtype) * INITSIZE);
s->front = s->rear = 0;
s->queuesize = INITSIZE;
}
//增量分配
void increment(sqqueue* s) {
elemtype* p = (elemtype*)realloc(s->base, (s->queuesize + INCREMENT) * sizeof(elemtype));
if (s->rear < s