三木社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 303|回复: 0
打印 上一主题 下一主题

C语言数据结构-main3-3.c

[复制链接]

1562

主题

1564

帖子

4904

积分

博士

Rank: 8Rank: 8

积分
4904
跳转到指定楼层
楼主
发表于 2017-9-1 08:30:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. /* main3-3.c 循环队列 检验bo3-3.c的主程序 */
  2. #include"c1.h"
  3. typedef int QElemType;
  4. #include"c3-3.h"
  5. #include"bo3-3.c"

  6. void visit(QElemType i)
  7. {
  8.    printf("%d ",i);
  9. }

  10. void main()
  11. {
  12.    Status j;
  13.    int i=0,l;
  14.    QElemType d;
  15.    SqQueue Q;
  16.    InitQueue(&Q);
  17.    printf("初始化队列后,队列空否?%u(1:空 0:否)\n",QueueEmpty(Q));
  18.    printf("请输入整型队列元素(不超过%d个),-1为提前结束符: ",MAXQSIZE-1);
  19.    do
  20.    {
  21.      scanf("%d",&d);
  22.      if(d==-1)
  23.        break;
  24.      i++;
  25.      EnQueue(&Q,d);
  26.    }while(i<MAXQSIZE-1);
  27.    printf("队列长度为: %d\n",QueueLength(Q));
  28.    printf("现在队列空否?%u(1:空 0:否)\n",QueueEmpty(Q));
  29.    printf("连续%d次由队头删除元素,队尾插入元素:\n",MAXQSIZE);
  30.    for(l=1;l<=MAXQSIZE;l++)
  31.    {
  32.      DeQueue(&Q,&d);
  33.      printf("删除的元素是%d,请输入待插入的元素: ",d);
  34.      scanf("%d",&d);
  35.      EnQueue(&Q,d);
  36.    }
  37.    l=QueueLength(Q);
  38.    printf("现在队列中的元素为: \n");
  39.    QueueTraverse(Q,visit);
  40.    printf("共向队尾插入了%d个元素\n",i+MAXQSIZE);
  41.    if(l-2>0)
  42.      printf("现在由队头删除%d个元素:\n",l-2);
  43.    while(QueueLength(Q)>2)
  44.    {
  45.      DeQueue(&Q,&d);
  46.      printf("删除的元素值为%d\n",d);
  47.    }
  48.    j=GetHead(Q,&d);
  49.    if(j)
  50.      printf("现在队头元素为: %d\n",d);
  51.    ClearQueue(&Q);
  52.    printf("清空队列后, 队列空否?%u(1:空 0:否)\n",QueueEmpty(Q));
  53.    DestroyQueue(&Q);
  54. }
复制代码


回复

使用道具 举报

Archiver|手机版|小黑屋|三木电子社区 ( 辽ICP备11000133号-4 )

辽公网安备 21021702000620号

GMT+8, 2025-10-21 00:33 , Processed in 0.028259 second(s), 22 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表