您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页循环队列算法

循环队列算法

来源:飒榕旅游知识分享网
/*循环队列*/

#include #define LENGTH 10 typedef struct queue {

int *base; int rear; int front; }queue;

void init(queue *q) {

q->base=(int *)malloc(LENGTH*sizeof(int)); if(!(q->base))return; q->rear=0; q->front=0; }

int full(queue *q) {

if((q->rear+1)%LENGTH==q->front)return 1; else return 0; }

int empty(queue *q) {

if(q->rear==q->front)return 1; else return 0; }

void enQueue(queue *q,int e) {

if(full(q)){printf(\"full\\n\");return;} q->base[q->rear]=e;

q->rear=(q->rear+1)%LENGTH;

}

void deQueue(queue *q,int *e) {

if(empty(q)){printf(\"empty\");return;} *e=q->base[q->front];

q->front=(q->front+1)%LENGTH; }

main() {

int array[]={1,2,3,4,5,6,7,8,9,12,23,34,56,67}; int i=0;

queue *q;

q=(queue *)malloc(sizeof(queue)); init(q);

while(full(q)!=1) {

enQueue(q,array[i++]); }

while(empty(q)!=1) {

deQueue(q,&i); printf(\"%d \ }

getch(); }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务