摘要:以此類推,直到所有元素均排序完畢。假設(shè)中最小值得為尋找最小的數(shù)將最小數(shù)的索引保存將實(shí)際最小值為賦值給,即獲得當(dāng)前一輪排序后的新過(guò)程結(jié)果控制臺(tái)實(shí)例
冒泡排序
//原理:每次都是前后兩兩比較然后根據(jù)大小交換位置(可以從小到大,或者相反) //1.prepare swap fn function swap(array,index1,index2) { var aux = array[index1]; array[index1] = array[index2]; array[index2] = aux; } //2.double for function bubbleSort(arr){ let length = arr.length for (let i=0;iarr[j+1]){ swap(arr,j,j+1) } } console.log(arr) //過(guò)程 } console.log("result",arr) //結(jié)果 } let test = [1,5,4,3,2] bubbleSort(test)
控制臺(tái)運(yùn)行實(shí)例:
function swap(array,index1,index2) { var aux = array[index1]; array[index1] = array[index2]; array[index2] = aux; } //selectionSort //原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置, //然后,再?gòu)氖S辔磁判蛟刂欣^續(xù)尋找最小(大)元素,然后放到已排序序列的末尾。 //以此類推,直到所有元素均排序完畢。 function selectionSort(arr) { let len = arr.length; for (let i = 0; i < len - 1; i++) { let minIndex = i; //假設(shè)arr中最小值得index為minIndex for (let j = i + 1; j < len; j++) { if (arr[j] < arr[minIndex]) { // 尋找最小的數(shù) minIndex = j; // 將最小數(shù)的索引保存 } } swap(arr,minIndex,i) //將實(shí)際最小值index(為i)賦值給minIndex,即獲得當(dāng)前一輪排序后的新arr console.log(arr) //過(guò)程 } console.log("result",arr) //結(jié)果 return arr; } let test = [5,4,1,3,2] selectionSort(test)
控制臺(tái)實(shí)例:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/104869.html
摘要:通常需要在實(shí)際的計(jì)算機(jī)運(yùn)行才知道具體的執(zhí)行時(shí)間。算法的執(zhí)行時(shí)間往往和算法代碼中語(yǔ)句執(zhí)行的數(shù)量有關(guān)。空間復(fù)雜度運(yùn)行一段程序的內(nèi)存占用,空間復(fù)雜度通常指的是算法程序在計(jì)算機(jī)只想中只想所需要的存儲(chǔ)空間。 基本數(shù)據(jù)結(jié)構(gòu) JS 數(shù)據(jù)類型 基本類型(棧 stack): Number String Boolean Null Undefined 和 Symbol(es6 新增)引用類型(堆 heap)...
摘要:如何使用,在一個(gè)類型的數(shù)組里,查找最大或最小數(shù)呢以下介紹五個(gè)方法。利用代碼如下解釋方法就是通過(guò)一個(gè)函數(shù),針對(duì)一個(gè)累加器和數(shù)組中的每一個(gè)元素,將一個(gè)數(shù)組最終減少到一個(gè)值。如果求最小值,將改成。 如何使用JS,在一個(gè)Number類型的數(shù)組里,查找最大(或最小)數(shù)呢? 以下介紹五個(gè)方法。(如果有新方法,后續(xù)會(huì)更新,也歡迎各位留言提供新方法) 1. 不使用任何庫(kù)函數(shù) 代碼如下: functio...
TCP/IP HTTP和HTTPS有何區(qū)別? httpbin 一個(gè)簡(jiǎn)單的HTTP請(qǐng)求和響應(yīng)服務(wù)。 TCP的三次握手與四次揮手 通俗易懂版,詳細(xì)版本 MySQL CHAR和VARCHAR存取的差別 《高性能MySQL》筆記 - MySQL 鎖的基本類型 MySQL中的鎖之一:鎖的必要性及分類 MySQL中的鎖之二:行鎖、頁(yè)鎖、表鎖 MySQL Like與Regexp的區(qū)別 數(shù)據(jù)結(jié)構(gòu) 數(shù)...
TCP/IP HTTP和HTTPS有何區(qū)別? httpbin 一個(gè)簡(jiǎn)單的HTTP請(qǐng)求和響應(yīng)服務(wù)。 TCP的三次握手與四次揮手 通俗易懂版,詳細(xì)版本 MySQL CHAR和VARCHAR存取的差別 《高性能MySQL》筆記 - MySQL 鎖的基本類型 MySQL中的鎖之一:鎖的必要性及分類 MySQL中的鎖之二:行鎖、頁(yè)鎖、表鎖 MySQL Like與Regexp的區(qū)別 數(shù)據(jù)結(jié)構(gòu) 數(shù)...
閱讀 1174·2021-10-20 13:48
閱讀 2204·2021-09-30 09:47
閱讀 3108·2021-09-28 09:36
閱讀 2350·2019-08-30 15:56
閱讀 1203·2019-08-30 15:52
閱讀 2028·2019-08-30 10:48
閱讀 615·2019-08-29 15:04
閱讀 577·2019-08-29 12:54