选择排序:
1.首先从原始数组中找到最小的元素,并且把该元素放在数组的最前面,
2.然后再从剩下的元素中寻找最小的元素,放在之前最小元素的后面,直到排序完毕。
var numarr = [84, 36, 92, 43, 19, 28, 11, 12];
// c
// m
// m
// m
//[11,36,92,43,19,28,84,12];
// c
// m
// m
//[11,12,92,43,19,28,84,36];
// c
// m
// m
// [11,12,19,43,92,28,84,36];
// c
// m
// [11,12,19,28,92,43,84,36];
// c
// m
// m
// [11,12,19,28,36,43,84,92];
// c
// [11,12,19,28,36,43,84,92];
// c
// [11,12,19,28,36,43,84,92];
console.log(numarr);//[84, 36, 92, 43, 19, 28, 11, 12]
//控制数组完成排序需要多少论比较
for (var i = 0; i < numarr.length - 1; i++) {
// 比较开始前先假设最小值,第几轮开始,就先假设第几个最小值,
//使用变量将假设的最小值索引保存
var minindex = i;
//循环和 初始假设的最小值比较的数项组
for (var j = i + 1; j < numarr.length; j++) {
//判断如果假设的最小值,比后面的值 大
if (numarr[minindex] > numarr[j]) {
//就将当前比较出小的值索引 作为新的假设值
minindex = j;
}
}
//内层循环结束,最终minindex就是最小值得索引,实现和初始假设值得索引交换位置
var tp = numarr[i];
numarr[i] = numarr[minindex];
numarr[minindex] = tp;
}
console.log(numarr);// [11, 12, 19, 28, 36, 43, 84, 92]
//封装选择数组排序得方法:
function selectSort(numarr) {
//控制数组完成排序需要多少轮
for (var i = 0; i < numarr.length - 1; i++) {
// 比较开始前先假设最小值,第几轮开始,就先假设第几个最小值,
//使用变量假设得最小值索引保存
var minindex = i;
// 循环和 初始假设的最小值比较的数组项
for (var j = i + 1; j < numarr.length; j++) {
// 判断如果假设的最小值,比后面的值 大
if (numarr[minindex] > numarr[j]) {
// 就将当前比较出小的值的索引 作为新的假设值
minindex = j;
}
}
var tp = numarr[i];
numarr[i] = numarr[minindex];
numarr[minindex] = tp;
}
// 返回排序后的数组
return numarr;
}
var arr = selectSort([8, 2, 4, 1, 6, 7, 9]);
console.log(arr);//[1, 2, 4, 6, 7, 8, 9]
前端第二周,Javascript--选择排序
最新推荐文章于 2025-11-23 23:13:13 发布
本文详细介绍了选择排序算法在JavaScript中的实现过程,通过示例展示了如何通过嵌套循环不断找到并交换数组中最小元素的位置,最终得到有序数组。

752

被折叠的 条评论
为什么被折叠?



