3、排序、希尔排序、选择排序、堆排序) 这些算法的特点就是,排序的时候,所有的数据都是按照从大到小排列出来的。按照冒泡排序来说,首先我们选出最大的数据,然后是第二大的数据,依次类推,直到第n大的数据找到为止。堆排序也是这样,我们在构建堆之后,也是每次从堆顶获得一个数据,不断调整堆,再接着获得第二大、第三大......第n大的数据的。我们以冒泡排序为例,看看这一次的算法应该怎么写?1.void find_n_max_number(int array[], int length, int number)2.{3. in
4、t inner ;4. int outer;5. int median;6. 7. if(NULL == array
8、一个数据的排在左边,大于的排在右边。如果右边的数据小于n,为m,那么在左边数组继续寻找剩下的(n-m)个数据;如果右边的数据大于n,那么在右边的数据继续寻找。(快速排序) 不知道上面的解释说明白了没,没有清楚的同学可以看一看下面这个代码。1.int partion(int array[], int start, int end, int swap[])2.{3. int loop;4. int left = 0;5. int right = end - start;6. int value =
10、, swap, sizeof(int) * (end - start +1));16. return left + start;17.}18. 19.void _quick_sort(int array[], int start, int end, int swap[], int number)20.{21.