您的位置:首页 > 其它

第七周项目4-队列数字(2)

2017-10-25 20:30 225 查看
/* 

*Copyright(c)2017,烟台大学计算机学院 

*All right reserved. 

*文件名:sk.cpp sqqueue.h sqqueue.cpp 

*作者:盛凯 

*完成日期:2017年10月25日 

*版本号:v1.0 



*问题描述:队列数组 

*输入描述:整数组 

*程序输出:见运行结果 

*/

#include <stdio.h>

#include <malloc.h>

#include "liqueue.h"

#define N 10

int main()

{

   int i, a;

   LiQueue *qu
; //定义队列指针数组

   for (i=0; i<N; i++)

       InitQueue(qu[i]);       //初始化队列

   //为队列中加入值

   printf("输入若干正整数,以0结束: ");

   scanf("%d", &a);

   while(a)

   {

       enQueue(qu[a%10], a);

       scanf("%d", &a);

   }

   //输出各个队列

   printf("按个位数整理到各个队列中后,各队列出队的结果是: \n");

   for (i=0; i<N; i++)

   {

       printf("qu[%d]: ", i);

       while(!QueueEmpty(qu[i]))

       {

           deQueue(qu[i], a);

           printf("%d ", a);

       }

       printf("\n");

   }

   //销毁各个队列

   for (i=0; i<N; i++)

       DestroyQueue(qu[i]);

   return 0;

}

程序运行结果如图所示:



反思总结:

此种算法比第一种算法要更加简洁,没有用switch语句而是直接取余判断进的队列,可见我们还是要不断的改进,选择尽可能简单明了的算法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: