氣泡排序和選擇排序

2022-05-26 07:24:09 字數 1240 閱讀 7681

一 、氣泡排序的語法形式:

var arr = [ 5 , 4 , 3 , 2 , 1 ];

for( var i = 0; i <= arr.length-2; i++){     //for迴圈生成迴圈次數

for( var j = 0; j <= arr.length-2-i; j++){   //內層for迴圈生成比較次數和索引,這裡注意:『- i』 是因為氣泡排序每次迴圈都把當前最大的數值排到最後且不用再進行比較。

if ( arr[ j ]  >  arr[ j+1 ]){                 // 判斷當前數是否大於下乙個數,如果大於就交換資料資訊。依次判斷,比較出最大的排列到最後。

var m = 0;

m = arr[ j ];

arr[ j ] = arr[ j +1]; 

arr[ j +1] = m;  

console.log(arr);

二 、選擇排序語法形式:

var  arr  =  [ 5 , 4 , 3 , 2 , 1 ];

for(var i = 0; i <= arr.length-2; i++){  // 外層迴圈生成迴圈次數

var min = i;                                      // 選擇排序是找到當前的最小值併排到陣列的起始位置,比較過且已經排好位置的數值不用再參與比較,所以min = i = 0; 

for( var j = i+1; j <= arr.length-1; j++){ // 內層迴圈為下面if迴圈提供迴圈索引,注意這裡是arr.length-1。

if ( arr[ min ] > arr[ j ] ){             // 判斷當前數值是否大於下乙個數值,如果大於,交換索引下標。且繼續向下面數值比較。

min = j ;

if (min != i){                             // 一次迴圈結束後,判斷比較後最小值的索引下標是不是之前的值,如果不是,交換資料資訊。

var m = 0 ;

m = arr[ i ] ;     

arr[ i ] = arr[ min ] ;  

arr[ min ] = m ;

三 、氣泡排序和選擇排序的比較

氣泡排序是找當前陣列的最大值,並將最大值排列到最後,選擇排序是找當前陣列的最小值併排到陣列的起始位置,

氣泡排序與選擇排序相比交換資料資訊次數較多,執行效率低於選擇排序,所以推薦使用選擇排序。

排序 氣泡排序和選擇排序

目錄 氣泡排序 氣泡排序原理圖 demo 執行 選擇排序 氣泡排序原理圖 demo 執行 說明 include include using namespace std name 氣泡排序法 number 傳入陣列 length 陣列長度 setw 需要匯入 include ps 這是乙個lib.h的...

選擇排序和氣泡排序

選擇排序和氣泡排序 演算法 蠻力法選擇排序,第一次掃瞄整個陣列,找到最小元素,然後和第乙個元素交換。第二次從第二個元素開始掃瞄陣列,找到剩下的元素中最小的與第二個元素交換位置,直到最後。89 45 68 90 29 3417 17 45 68 902934 89 17 29 68 90 453489...

選擇排序和氣泡排序

選擇 從小到大排序 int a 5 a 0 a 1 a 2 a 3 a 4 5 4 3 2 1 1 5 4 3 2 第一輪比較 拿a 0 和後面的元素依次比較 如果a 0 a i 那麼兩個數交換 1 2 5 4 3 第二輪比較,拿a 1 和後面的元素依次比較,如果a 1 a i 那麼兩個數交換 1 ...