JavaScript 选择排序法
Posted 乱舞春秋__
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 选择排序法相关的知识,希望对你有一定的参考价值。
核心思想:
(1)每次循环时,默认当前项为最小项(或最大项)
(2)将当前项与其后面每一项进行比较,并记录最小索引(或最大索引)
(3)将当前项与最小索引项(或最大索引项)的值进行交换
函数封装如下:
1.从小到大排序
function selectionSort (array) {
var temp;
var minIndex;
for (var i = 0; i < array.length - 1; i++) {
minIndex = i;
for (var j = i + 1; j < array.length; j++) {
if (array[j] < array[minIndex]) {
minIndex = j;
}
}
temp = array[i];
array[i] = array[minIndex];
array[minIndex] = temp;
}
}
2.从大到小排序
function selectionSort(array) {
var temp;
var maxIndex;
for (var i = 0; i < array.length - 1; i++) {
maxIndex = i;
for (var j = i + 1; j < array.length; j++) {
if (array[j] > array[maxIndex]) {
maxIndex = j;
}
}
temp = array[i];
array[i] = array[maxIndex];
array[maxIndex] = temp;
}
}
示例:
(1)将一个数组从小到大排序
var arr = [6, 5, 4, 3, 2, 1, 1, 2, 3, 4, 5, 6];
function selectionSort (array) {
var temp;
var minIndex;
for (var i = 0; i < array.length - 1; i++) {
minIndex = i;
for (var j = i + 1; j < array.length; j++) {
if (array[j] < array[minIndex]) {
minIndex = j;
}
}
temp = array[i];
array[i] = array[minIndex];
array[minIndex] = temp;
}
}
selectionSort(arr);
console.log(arr);
控制台输出:
(2)将一个数组从大到小排序
var arr = [1, 2, 3, 4, 5, 6, 6, 5, 4, 3, 2, 1];
function selectionSort(array) {
var temp;
var maxIndex;
for (var i = 0; i < array.length - 1; i++) {
maxIndex = i;
for (var j = i + 1; j < array.length; j++) {
if (array[j] > array[maxIndex]) {
maxIndex = j;
}
}
temp = array[i];
array[i] = array[maxIndex];
array[maxIndex] = temp;
}
}
selectionSort(arr);
console.log(arr);
控制台输出:
以上是关于JavaScript 选择排序法的主要内容,如果未能解决你的问题,请参考以下文章
js冒泡排序法——选择排序(other)——计数排序(桶排序)——快速排序——插入排序-更新