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语言全国题库,,急求急求