插入
由位置來比較下個位置大小
若後位比前位小,則往前移,若後位比前位大,則往後移
已排好的,由後位往前比較
氣泡
排序次數為長度減1
二個位置比較,較大值往後移
*******************************************
var arr = [123,12,343,1,4,11,45,90];
var temp = 0;
插入
for (var i = 1; i < arr.length; i++)
{
temp = arr[i]; //比較值
for (var j = i - 1; j >= 0 ; j--) //已排好的,由比較值前一個位置往前比較
{
//當比較值小於當前值,則,
if (temp < arr[j]) {
arr[j+1] = arr[j]; //當前值移至比較值的位置
arr[j] = temp; //當比較值移至前一個的位置
}
}
}
console.log(arr);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
氣泡
for (var i = 0; i < arr.length -1 ; i++) { //排序次數為長度減1
for ( var j = 0; j < arr.length -1 - i; j++) { //交換範圍為未排序
if (arr[j] > arr[j+1]) { //目前位置比下一個位置值大
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
console.log(arr);