为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

c语言循环队列练习

2017-09-19 5页 doc 19KB 14阅读

用户头像

is_036899

暂无简介

举报
c语言循环队列练习//循环队列练习          2012.7.22 #include #include #include void init_queue(struct queue *ps , int len );//初始化函数 int empty_queue(struct queue *ps);        //判断队列是否为空 int full_queue(struct queue *ps, int len); //判断队列是否为满 void en_queue(struct queue *ps,  int val, int len);...
c语言循环队列练习
//循环队列练习          2012.7.22 #include #include #include void init_queue(struct queue *ps , int len );//初始化函数 int empty_queue(struct queue *ps);        //判断队列是否为空 int full_queue(struct queue *ps, int len); //判断队列是否为满 void en_queue(struct queue *ps,  int val, int len);//入队 void out_queue(struct queue *ps, int len);        //出队 void traverse_queue(struct queue *ps, int len);  //显示队 void clear_queue(struct queue *ps);              //清空队 struct queue {int *pbase; int front; int rear; }; //主函数 int main(void) { int len; int val; struct queue s; printf("请输入想申请的静态队列空间大小:"); scanf("%d",&len); printf("初始化中..................\n"); init_queue(&s,len); printf("初始化完毕!\n"); //入列测试 printf("请输入入队信息!\n"); scanf("%d",&val); en_queue(&s, val, len); scanf("%d",&val); en_queue(&s, val, len); scanf("%d",&val); en_queue(&s, val, len); scanf("%d",&val); en_queue(&s, val, len); scanf("%d",&val); en_queue(&s, val, len); //显示测试 printf("显示全部内容!\n"); traverse_queue(&s, len); //出列测试 printf("出列!\n"); out_queue(&s, len); printf("显示全部内容!\n"); traverse_queue(&s, len); printf("出列!\n"); out_queue(&s, len); printf("显示全部内容!\n"); traverse_queue(&s, len); //清空测试 printf("清空!\n"); clear_queue(&s); printf("显示全部内容!\n"); traverse_queue(&s, len); return 0; } //初始化函数 void init_queue(struct queue *ps , int len ) {  ps->pbase = (int *)malloc(sizeof(int) * len); if(ps == NULL)     exit(-1); else {    ps->front = 0;   ps->rear = 0; } return ; } //判断队列是否为空 int empty_queue(struct queue *ps) {     if(ps->front == ps->rear)         return 1;     else         return 0; } //判断队列是否为满 int full_queue(struct queue *ps, int len) {  if( (ps->rear +1) % len == ps->front)         return 1;   else       return 0; } //入队函数 void en_queue(struct queue *ps,  int val , int len) { if(full_queue(ps,len) == 1)     { printf(" 队列已满,不能再入!\n");       return;     } else     {       ps->pbase[ps->rear] =  val;       ps->rear = (ps->rear +1) % len;     } return; } //出队函数 void out_queue(struct queue *ps, int len) { if(empty_queue(ps) == 1)     {    printf("队列也空,不能再出!\n");         return;     } else     { printf("%d",ps->pbase[ps->front]);       ps->front = (ps->front + 1) % len;     }   printf("\n"); return ; } //显示队列 void traverse_queue(struct queue *ps, int len) { int i; i = ps->front; if(i == ps->rear)     {     printf("队列为空!\n\n");       return ;     } while(1)     {          if(i == ps->rear)           break;                 printf("%d\n",ps->pbase[i]);         i = (i+1) % len;     } printf("\n"); return; } //清空队列 void clear_queue(struct queue *ps) {     int i;     if(empty_queue(ps) == 1)         printf("队列为空,不能再进行清空操作!\n");     else     {       ps->front =0;       ps->rear = 0;     } return; }
/
本文档为【c语言循环队列练习】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索