利用递归算法进行快速排序。
工具/原料javascript语言方法/步骤1初始状态,设置基准值,将数组中的第一个值作为基准值,即数字6。
2第一次循环,j找到小于6的值后,停止寻找,i找到大于6的值后,停止寻找。
3将两者数值交换。
4第二次循环,j找到小于6的值后,停止寻找,i找到大于6的值后,停止寻找。
5两者数值交换。
6第三次循环,j找到小于6的值后,停止寻找,i找到大于6的值后,停止寻找。
7当j找到小于6的值后,停止寻找,i开始循环,寻找大于6的值,当i=j时,结束循环。
将i的值与基准值交换。
8此时,在基准值6的左侧均为小于6的值,右侧为大于6的值。
再使用递归算法,将左右两边数组进行排序。
方法/步骤21代码段(使用js语言)。
function quickSort(num,from,to){
var from = from != undefined ? from : 0; //开始位置
var to = to != undefined ? to : num.length-1; //结束位置
var i = from;
var j = to;
var key = num[from]; //基准值
var temp; // 临时变量,用于数字交换
if(i>=j){
return num; //递归出口
}
while(i
标签:递归,算法