注册 登录
编程论坛 新人交流区

顺序循环队列1

野郎中 发布于 2007-10-15 23:04, 423 次点击
typedef struct
{ DataType queue[MaxQueueSize];
int front;
int count;
}SeqCQueue;

void QueueInitiate(SeqCQueue *Q) //初始化
{ Q->fr;
Q->count=0;
}


int QueueNotEmpty(SeqCQueue Q) //判断非空否
{ if(Q.count!=0) return 1;
else return 0;
}


int QueueAppend(SeqCQueue *Q,DataType x) //入队列
{ if(Q->count>=MaxQueueSize)
{ printf("队列已满无法插入!\n");
return 0;
}
else
{ Q->queue[(Q->front+Q->count)%MaxQueueSize]=x;
Q->count++;
return 1;
}
}


int QueueDelete(SeqCQueue *Q,DataType *d) //出队列
{ if(Q->count<=0)
{ printf("队列已空没有元素出队列!\n");
return 0;
}
else
{ *d=Q->queue[Q->front];
Q->front=(Q->front+1)%MaxQueueSize;
Q->count--;
return 1;
}
}


int QueueGet(SeqCQueue Q,DataType *d) //取头元素
{ if(Q.count<=0)
{ printf("队列已空没有头元素!\n");
return 0;
}
else
{ *d=Q.queue[Q.front];
return 1;
}
}
1 回复
#2
壹刀2007-10-15 23:04
1