选择排序:通过需要将数组元素按从小到大或者从大到小的顺序进行排序
思想:以从小到大为例,假设数组的第一个元素最小,将它的下标存储在k中,然后用下标为k的元素与数组中的其他元素进行比较,找到比它小的元素的下标赋值给k,以此类推,直到找到最小元素的下标赋值给k,然后将下标为k的最小元素与数组的第一个元素进行交换,这就找到了第一个最小元素,接着再将第二个元素的下标赋值给k,再进行上述操作,找到后面最小的元素与第二个元素交换,如此循环比较,直到倒数第二个元素与最后一个元素比较完毕
注:第一个循环遍历至倒数第二个元素,第二个循环是从下标为i的元素的下一个元素至数组的最后一个元素
var arr=[16,2,39,44,5,65,7];
var k;
var t;
for(var i=0;i<arr.length-1;i++){
k=i;
for(var j=i+1;j<arr.length;j++){
if(arr[k]>arr[j]){
k=j;
}
}
t=arr[k];
arr[k]=arr[i];
arr[i]=t;
}
选择排序
最新推荐文章于 2024-08-19 10:59:54 发布