JavaScript是一種常用的編程語(yǔ)言,其中排序算法是常見(jiàn)的編程技巧。在JavaScript中,常見(jiàn)的排序算法有三種:冒泡排序、選擇排序和插入排序。
冒泡排序是一種簡(jiǎn)單的排序算法,它將未排序的元素順序比較,若順序不正確就交換位置,直到所有元素都按正確順序排列。
function bubbleSort(arr) { var len = arr.length; for (var i = 0; i < len; i++) { for (var j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } return arr; } var arr = [3, 1, 4, 2, 6, 5]; console.log(bubbleSort(arr)); // [1, 2, 3, 4, 5, 6]
選擇排序是另一種常見(jiàn)的排序算法,它從未排序的元素中選擇最小的一個(gè),交換到排好序的元素后面。這樣依次進(jìn)行,直到所有元素按正確順序排列。
function selectionSort(arr) { var len = arr.length; for (var i = 0; i < len; i++) { var minIndex = i; for (var j = i + 1; j < len; j++) { if (arr[j] < arr[minIndex]) { minIndex = j; } } var temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } return arr; } var arr = [3, 1, 4, 2, 6, 5]; console.log(selectionSort(arr)); // [1, 2, 3, 4, 5, 6]
插入排序是第三種常見(jiàn)的排序算法,它將未排序的元素插入排好序的元素中,直到所有元素按正確順序排列。
function insertionSort(arr) { var len = arr.length; for (var i = 1; i < len; i++) { var current = arr[i]; var j = i - 1; while (j >= 0 && arr[j] > current) { arr[j + 1] = arr[j]; j--; } arr[j + 1] = current; } return arr; } var arr = [3, 1, 4, 2, 6, 5]; console.log(insertionSort(arr)); // [1, 2, 3, 4, 5, 6]
以上是JavaScript中常見(jiàn)的三種排序算法,不同的排序算法適用于不同的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)量。學(xué)會(huì)了排序算法,可以更好地解決問(wèn)題。