基本排序算法
一、选择排序
js
function seletionSort(nums) {
let len = nums.lenght;
// 外排序:未排序区间未[i, n-1]
for(let i = 0; i < len - 1; i++) {
// 内循环:找到未排序区间的最小元素
let k = i;
for(let j = i + 1; j < n; j++) {
if(nums[j] < numss[k]) {
k = j; // 记录最小元素的索引
}
}
// 交换最小元素
[nums[i], nums[k]] = [nums[k], nums[i]]
}
}
二、冒泡排序
js
function bubbleSort(nums) {
// 外循环:未排序区间未[0,i]
for(let i = nums.length - 1; i > 0; i--) {
// 内循环:将未排序区间[0, i]中最大元素交换值该区间的最右端
for(let j = 0; j < i; j++){
if(nums[j] > nums[j + 1]) {
// 交换nums[j]和nums[j+1]
let temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = tmp;
}
}
}
}