当前位置:编程学习 > C/C++ >>

c++数据结构内部排序问题,整数排序

要求将一个杂乱无序的整数序列,按照从小到大的顺序排列并输出. 输入: 1)先输入无序序列的整数个数n;(n不超过1000000) 2)然后连续输入n个整数; 若n的值输入为0值,则输入结束. 输出: 与每组输入的测试数据相对应,输出其按从小到大排好序后的整数序列.注意:每组输出占一行. 样例输入: 10 9 8 7 6 5 4 3 2 1 -1 5 88 77 66 55 33 0 样例输出: -1 1 2 3 4 5 6 7 8 9 33 55 66 77 88 PS:不能使用sort,qsort等函数,时间限制20s,内存限制128mb。我用冒泡法做出来的超时了,求一个不超时的算法答案。求大神给出完整的源代码。多谢!
追问:能不能请你用快速排序把这道题做一下,代码贴上来让我看看?谢谢
答案:要想从根本上提高排序的效率,只能改变算法,你可以用快速排序、希尔排序等等
其他:排序算法会根据原来的序列而改变该算法的时间复杂度,想时间复杂度最低,就选基数排序 

上一个:已知某树有2个2度结点,3个3度结点,4个4度结点,问有几个叶子结点?
下一个:2012九月计算机二级C语言全国题库,,急求急求

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,