冒泡排序和選擇排序 作用和原理 將陣列中的數值,按照執行的順序,從小到大排序或者從大到小排序,本文中均為從小到大排序, 冒泡排序 原理: 相鄰的兩個單位,比較存盤的資料,如果第一個單元的資料較大,就將兩個相鄰單元,交換存盤資料 核心: 交換存盤的資料 兩個相鄰的單元,比較資料大小,第一個單元數值較大,就交換兩個單元存盤的資料 var num=[5,6,7,1,8,9,3,4,2]; //這是用的最基礎的for回圈嵌套的語法寫的,主要是排序的思路 //第一個for回圈一次回圈確定一個最大的數 for(var n=0;n<=num.length-1-1;n++){ //里面的for回圈是依次將兩個相鄰的數進行比較,直到比到前面已經比過的n個數為止(因為后面已經比過的數都已經確定是比前面的數大了,所以不用再比了,這樣可以提升程式的執行效率) for(var m=0;m<=num.length-1-1-n;m++){ //if陳述句將兩個相鄰的數從小到大排好 if(num[m]>num[m+1]){ var x=0; x=num[m]; num[m]=num[m+1]; num[m+1]=x; } } } document.write(num); 選擇排序 核心 : 找到最小值的索引,與起始位置交換數值,先找索引 在交換數值 代碼: //選擇排序跟冒泡排序的程式相近,但有本質的區別,選擇排序是先找到最小數的索引然后與起始值交換數值,而冒泡排序是兩個兩個依次比較將最大數(或者最小數)沉底 var num=[5,6,7,1,8,9,3,4,2]; for(var n=0;n<=num.length-1-1;n++){ var min=n; for(var m=n+1;m<=num.length-1;m++){ //這里min是最小數的索引而不是最小數,這點要注意!!! if(num[min]>num[m]){ min=m; } } if(min!=n){ var x=0; x=num[min]; num[min]=num[n]; num[n]=x; } } document.write(num);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/140522.html
標籤:JavaScript
上一篇:Js中的For回圈詳解
