JSFiddle - React, Tailwind, and code Playground
by etianqq
JavaScript
// 选择排序
//
// 选择排序从数组的开头开始,将第一个元素和其他元素进行比较。
// 检查完所有元素后,最小的元素会被放到数组的第一个位置,然后算法会从
// 第二个位置继续。这个过程一直进行,当进行到数组的倒数第二个位置时,
// 所有的数据便完成了排序。
function selectionSort(numElements) {
var temp;
var len = numElements.length;
for (var outer = 0; outer <= len-2; ++outer) {
min = outer;
for (var inner = outer + 1; inner <= len-1; ++inner) {
if (numElements[inner] < numElements[min]) {
min = inner;
}
}
swap(numElements, outer, min);
}
}
function swap(arr, index1, index2) {
var temp = arr[index1];
arr[index1] = arr[index2];
arr[index2] = temp;
}
var elements = [6,8,0,6,7,4,3,1,5,10];
chooseSort(elements);
document.write(elements.toString());