摘要:排序算法時(shí)間復(fù)雜度兩兩比較相鄰的排序碼發(fā)生逆序則交換兩種方式,小的冒泡到前面去,大的冒泡到后面去第一版比較兩個(gè)相鄰的數(shù)值大小,小的冒泡到前面去第二版比較兩個(gè)相鄰的數(shù)值大小,小的冒泡到前面去
// 排序算法 時(shí)間復(fù)雜度o(n^2);
// 兩兩比較相鄰的排序碼;發(fā)生逆序則交換;
// 兩種方式, 小的冒泡到前面去, 大的冒泡到后面去;
第一版
const arr = [91, 60, 96, 7, 35, 65, 10, 65, 9, 30, 20, 31, 77, 81, 24];
function bubbleSore(arr) {
let len = arr.length; for (let i = 0; i < len - 1; i++) { for(let j = 0; j < len; j++) { if (arr[j] > arr[j + 1]) { // 比較兩個(gè)相鄰的數(shù)值大小,小的冒泡到前面去 let temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } return arr;
}
console.log(bubbleSore(arr));
第二版
function swap(arr, indexA, indexB) {
return [arr[indexA], arr[indexB]] = [arr[indexB], arr[indexA]];
}
function bubbleSore(arr) {
let len = arr.length; for (let i = 0; i < len - 1; i++) { for(let j = 0; j < len; j++) { if (arr[j] > arr[j + 1]) { // 比較兩個(gè)相鄰的數(shù)值大小,小的冒泡到前面去 swap(arr, j, j+1); } } } return arr;
}
const arr = [91, 60, 96, 7, 35, 65, 10, 65, 9, 30, 20, 31, 77, 81, 24];
console.log(bubbleSore(arr));
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/101324.html
摘要:本文對(duì)一些排序算法進(jìn)行了簡(jiǎn)單分析,并給出了的代碼實(shí)現(xiàn)。平均時(shí)間復(fù)雜度不好分析,它是冒泡排序是穩(wěn)定的排序算法。冒泡排序是原地排序算法原地排序指的是空間復(fù)雜度是的排序算法。歸并排序,會(huì)將數(shù)組從中間分成左右兩部分。 本文對(duì)一些排序算法進(jìn)行了簡(jiǎn)單分析,并給出了 javascript 的代碼實(shí)現(xiàn)。因?yàn)楸疚陌舜罅康呐判蛩惴ǎ苑治霾粫?huì)非常詳細(xì),適合有對(duì)排序算法有一定了解的同學(xué)。本文內(nèi)容其實(shí)不...
摘要:實(shí)現(xiàn)數(shù)組排序的算法很多其中冒泡算法是比較簡(jiǎn)單的冒泡的基本原理是相鄰的兩個(gè)數(shù)進(jìn)行比較按照排序的條件進(jìn)行互換例如對(duì)數(shù)值從小到大排序隨著不斷的互換最大的那個(gè)值會(huì)慢慢冒泡到數(shù)組的末端基于這個(gè)原理我們就可以寫冒泡排序了為了簡(jiǎn)單起見下面的例子都是對(duì)數(shù)值 實(shí)現(xiàn)數(shù)組排序的算法很多,其中冒泡算法是比較簡(jiǎn)單的冒泡的基本原理是相鄰的兩個(gè)數(shù)進(jìn)行比較,按照排序的條件進(jìn)行互換,例如對(duì)數(shù)值從小到大排序,隨著不斷的互...
摘要:實(shí)現(xiàn)數(shù)組排序的算法很多其中冒泡算法是比較簡(jiǎn)單的冒泡的基本原理是相鄰的兩個(gè)數(shù)進(jìn)行比較按照排序的條件進(jìn)行互換例如對(duì)數(shù)值從小到大排序隨著不斷的互換最大的那個(gè)值會(huì)慢慢冒泡到數(shù)組的末端基于這個(gè)原理我們就可以寫冒泡排序了為了簡(jiǎn)單起見下面的例子都是對(duì)數(shù)值 實(shí)現(xiàn)數(shù)組排序的算法很多,其中冒泡算法是比較簡(jiǎn)單的冒泡的基本原理是相鄰的兩個(gè)數(shù)進(jìn)行比較,按照排序的條件進(jìn)行互換,例如對(duì)數(shù)值從小到大排序,隨著不斷的互...
摘要:實(shí)現(xiàn)數(shù)組排序的算法很多其中冒泡算法是比較簡(jiǎn)單的冒泡的基本原理是相鄰的兩個(gè)數(shù)進(jìn)行比較按照排序的條件進(jìn)行互換例如對(duì)數(shù)值從小到大排序隨著不斷的互換最大的那個(gè)值會(huì)慢慢冒泡到數(shù)組的末端基于這個(gè)原理我們就可以寫冒泡排序了為了簡(jiǎn)單起見下面的例子都是對(duì)數(shù)值 實(shí)現(xiàn)數(shù)組排序的算法很多,其中冒泡算法是比較簡(jiǎn)單的冒泡的基本原理是相鄰的兩個(gè)數(shù)進(jìn)行比較,按照排序的條件進(jìn)行互換,例如對(duì)數(shù)值從小到大排序,隨著不斷的互...
摘要:介紹排序算法是算法中最常見的算法之一,我這里要介紹的是排序算法中的三種基本算法冒泡排序選擇排序插入排序,在文章的后面我會(huì)對(duì)三種算法的速度進(jìn)行對(duì)比。 1.介紹 排序算法是算法中最常見的算法之一,我這里要介紹的是排序算法中的三種基本算法:冒泡排序、選擇排序、插入排序,在文章的后面我會(huì)對(duì)三種算法的速度進(jìn)行對(duì)比。 2.冒泡排序 冒泡排序其名來(lái)源與其算法實(shí)現(xiàn),會(huì)使得數(shù)組中的元素一個(gè)個(gè)從數(shù)組一端漂...
閱讀 1390·2021-11-24 09:38
閱讀 2092·2021-09-22 15:17
閱讀 2388·2021-09-04 16:41
閱讀 3481·2019-08-30 15:56
閱讀 3518·2019-08-29 17:19
閱讀 1978·2019-08-28 18:09
閱讀 1256·2019-08-26 13:35
閱讀 1717·2019-08-23 17:52