javaScript数据结构和算法--选择排序
选择排序是一种比较原址的比较排序算法。先找到数据结构中最小值并放在第一位,接着找到第二小的值放在第二位
选择排序的算法实现:
function SelectSort() {
const array = [];
this.insert = function(item) {
array.push(item);
}
this.toString = function() {
return array.join();
}
const swap = function(index1, index2) {
const temp = array[index1];
array[index1] = array[index2];
array[index2] = temp;
}
this.selectSort = function() {
for(let i=0; i< array.length; i++) {
let indexMin = i
for(let j=i; j<array.length; j++) {
if(array[indexMin] > array[j]) {
indexMin = j;
}
}
if(i !== indexMin) {
swap(i, indexMin);
}
}
}
}
var arr = new SelectSort();
arr.insert(3);
arr.insert(13);
arr.insert(32);
arr.insert(23);
arr.insert(11);
arr.insert(8);
arr.insert(33);
arr.insert(28);
console.log(arr.toString()); // 3,13,32,23,11,8,33,28
arr.selectSort();
console.log(arr.toString()); // 3,8,11,13,23,28,32,33