本文共 841 字,大约阅读时间需要 2 分钟。
#define Maxsize 8
#include<stdio.h>#include<malloc.h>typedef struct { int *base; int front; int rear;}SqQueue;//定义循环队列void InitQueue(SqQueue &Q,int n)
{ Q.base =(int *)malloc(Maxsize*sizeof(int)); Q.front=Q.rear=0;//构建空循环队列 printf("输入队列元素:"); for(int i=0;i<n;i++) { scanf("%d",&Q.base[i]); Q.rear++; }} void Print(SqQueue Q){ int p=Q.front; printf("输出循环队列:"); while(p!=Q.rear) { printf("%d",Q.base[p]); p++; }}
int QueueLength(SqQueue Q)
{ return (Q.rear-Q.front+Maxsize)%Maxsize;}//求循环队列长void EnQueue(SqQueue &Q,int e)
{ if((Q.rear+1)%Maxsize==Q.front) printf("error/n"); Q.base[Q.rear]=e; Q.rear=(Q.rear+1)%Maxsize;} void DeQueue(SqQueue &Q,int &e){ if(Q.front==Q.rear) return; e=Q.base[Q.front]; Q.front=(Q.front+1)%Maxsize;}main()
{ int a; SqQueue Q; InitQueue(Q,6); a=QueueLength(Q); Print(Q); printf("/n%d",a); return 0;}转载地址:http://vcmvi.baihongyu.com/