⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main3-4.cpp

📁 数据结构相关代码
💻 CPP
字号:
 // main3-4.cpp 循环队列 检验bo3-4.cpp的主程序
 #include"c1.h"
 typedef int QElemType; // 定义队列元素为整型
 #include"c3-3.h" // 队列的顺序存储结构(循环队列)
 #include"bo3-4.cpp" // 循环队列存储结构的基本操作(9个)
 #define ElemType QElemType // 将func2-2.cpp中的ElemType类型定义为QElemType类型
 #include"func2-2.cpp" // 包括equal()、comp()、print()、print1()和print2()函数

 void main()
 {
   Status j;
   int i=0,m;
   QElemType d;
   SqQueue Q;
   InitQueue(Q); // 初始化队列Q,失败则退出
   printf("初始化队列后,队列空否?%u(1:空 0:否)\n",QueueEmpty(Q));
   printf("请输入整型队列元素(不超过%d个),-1为提前结束符:",MAX_QSIZE-1);
   do
   { scanf("%d",&d); // 由键盘输入整型队列元素
     if(d==-1) // 输入的是提前结束符
       break; // 退出输入数据循环
     i++; // 计数器+1
     EnQueue(Q,d); // 入队输入的元素
   }while(i<MAX_QSIZE-1); // 队列元素的个数不超过允许的范围
   printf("队列长度为%d,",QueueLength(Q));
   printf("现在队列空否?%u(1:空 0:否)\n",QueueEmpty(Q));
   printf("连续%d次由队头删除元素,队尾插入元素:\n",MAX_QSIZE);
   for(m=1;m<=MAX_QSIZE;m++)
   { DeQueue(Q,d); // 删除队头元素,其值赋给d
     printf("删除的元素是%d,请输入待插入的元素:",d);
     scanf("%d",&d); // 输入要入队的元素给d
     EnQueue(Q,d); // 将d入队
   }
   m=QueueLength(Q); // m为队列Q的长度
   printf("现在队列中的元素为");
   QueueTraverse(Q,print); // 从队头到队尾依次对队列Q的每个元素调用函数print()
   printf("共向队尾插入了%d个元素。",i+MAX_QSIZE);
   if(m-2>0)
     printf("现在由队头删除%d个元素,",m-2);
   while(QueueLength(Q)>2)
   { DeQueue(Q,d); // 删除队头元素,其值赋给d
     printf("删除的元素值为%d,",d);
   }
   j=GetHead(Q,d); // 将队头元素赋给d
   if(j) // 队列Q不空
     printf("现在队头元素为%d\n",d);
   ClearQueue(Q); // 清空队列Q
   printf("清空队列后,队列空否?%u(1:空 0:否)\n",QueueEmpty(Q));
   DestroyQueue(Q); // 销毁队列Q
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -