摘要: #include#includeusing namespace std;void merge_sort(int *A,int x,int y,int *T) //A是原数组,x是第一个数的位置,y-x 是数组中元素的个数,T是临时数组{ if (y - x > 1) // y-x=1时,表明此... 阅读全文
posted @ 2015-09-08 17:32 include<stdio.h> 阅读(113) 评论(0) 推荐(0)
摘要: /*将数组中的数不断的递归,直到只剩一个数为止(因为一个数自然是有序的),然后再回溯排序,另外再用一个数组T存储当前排好序的数,然后再赋值给原数组A,直到所有的数都排好了序。时间复杂度:nlog2n(最好,最坏,平均)*/#include#includeusing namespace std;voi... 阅读全文
posted @ 2015-07-17 17:13 include<stdio.h> 阅读(129) 评论(0) 推荐(0)
摘要: /*每次以数组第一个数为基数,从数组两端往中间找,小于基数的数放在数组的左边,大于它的数放在数组的右边,当i == j的时候,查找结束,将基数赋值到这个位置,这个数在数组中的位置就是这个,确定了。然后从这个数的左边和右边开始递归,直到所有的数都排完序。时间复杂度:nlog2n(最好,平均)、n2(最... 阅读全文
posted @ 2015-07-17 17:01 include<stdio.h> 阅读(114) 评论(0) 推荐(0)