一、选择排序原理
选择排序是从数组的第一个数开始,和其他元素逐一进行比较,并将最小数放到数组的第一个位置,第一轮比结束。然后从重新排序的数组中的第二个数开始(此时第一个数已经是最小的)再次和其他元素逐一进行比较。重复这一过程,直到数组中只剩最后一个数没有进行逐一比较(因为此时最后一个数已经是最大值)。
二、JS实现快速排序
首先定义一个待排序的数组:
var arr = [6,4,2,5,1];
然后定义两个中间变量,min(用于存放最小值)和temp(用于数组中的数值交换顺序)
var min,temp;
//外层循环确定遍历次数
for(var outer = 0;outer <= arr.length-2;outer++){
min = outer;
//内层循环进行逐一对比
for(var inner = outer + 1;inner <=arr.length-1;inner++){
if(arr[inner]<arr[min]){
min = inner;
temp = arr[min];
arr[min] = arr[outer];
arr[outer] = temp;
}
}console.log("第"+(outer+1)+"次排序:"+arr);
}
控制台的输出为:
这样我们就实现了选择排序算法。
为方便大家学习,将完整的代码展现出来: