1. 程式人生 > >JS 排序-氣泡排序,選擇排序

JS 排序-氣泡排序,選擇排序

氣泡排序從第一個元素開始,對陣列中兩兩相鄰的元素比較,將值較小的元素放在前面,值較大的元素放在後面,一輪比較完畢,一個最大的數沉底成為陣列中的最後一個元素,一些較小的數如同氣泡一樣上浮一個位置。n個數,經過n-1輪比較後完成排序。

function bubbleSort(arr){
	for(var i = 0;i < arr.length-1; i++){ //輪數
		for(var j = 0;j < arr.length - 1 - i; j++){//次數
			if(arr[j] > arr[j+1]){
				var temp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = temp;
			}
		}
	}
	return arr;
}

選擇排序每次遍歷確定一個最小值,第幾次遍歷就把這個最小值放在陣列的第幾個位置 然後從後面的元素再次獲得最小值,在放到陣列前端, 重複上兩個步驟,知道遍歷到陣列的最後一個元素 有多少個元素,就要遍歷多少次
            

function selectSort(arr){
    for(var i = 0;i < arr.length -1 ;i++){//輪數
         var minIndex = i;                    //假定第一個數為最小值
         for( var j = i+1; j<arr.length;j++){//比較次數
             if(arr[minIndex]>arr[j]){
                 minIndex = j;
             }
         
         var temp = arr[i];
         arr[i] = arr[minIndex];
         arr[minIndex] = temp;
     }
     return arr;
}