找到相关内容 1
一个Quicksort究竟可以写到多么短
一个Quicksort究竟可以写到多么短 说实话,我从来没有能一次写对一个快速排序,总是有各种各样的错误。 快排麻烦就麻烦在,没办法去调试它,因为它是生成递归的,只能去静态调试,或者是不断的打印数组的状态以推测错误的可能性。 然而快排的基本思想却是极其简单的:接收一个数组,挑一个数,然后把比它小的那一摊数放在它的左边,把比它大的那一摊数放在它的右边,然后再对这个数左右两摊数递归的执行快排过程,直到子数组只剩一个数为止。 下面我先用最常用的C语言来写一个快速排序: 首先可以先写出一些伪代码: void quicksort(int array[], int left, int right) { //Do nothing if left <= right //p <- Get a number from array //Put elements <= p
http://www.cyqdata.cn/cnblogs/article-detail-292