js實現陣列排序

2022-09-15 06:03:11 字數 2530 閱讀 1390

var array = [1,4,-8,-3,6,12,9,8];

function compare(val1,val2);

array.sort(compare);

document.write(array);

sort()方法按照公升序排列陣列項,會呼叫每個陣列項的tostring()轉型方法,然後比較得到的字串。

tostring()方法是把布林值或booleanobject轉換為字串,並返回結果。

compare()函式方法是乙個比較函式,作為sort()方法的引數。

var array = [1,4,-8,-3,6,12,9,8];

function sort(arr)} }

}sort(array);

document.write(array);

(1)比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個位置。

(2)對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

(3)針對所有的元素重複以上的步驟,除了最後乙個。

(4)持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

var array = [1,4,-8,-3,6,12,9,8];

function quicksort(arr)

//定義中間值的索引

var index = math.floor(arr.length/2);

//取到中間值

var temp = arr.splice(index,1);

//定義左右部分陣列

var left = ;

var right = ;

for(var i=0;imath.floor(x)方法是向下取整,返回小於或等於x的最接近的整數。

splice(index,num,item)方法是向陣列中新增專案,或是從陣列中刪除專案,並返回被刪除的專案。

(1)index是整數,被操作專案所在的位置(必須)

(2)num是整數,要刪除的專案的數量,如果為0,表示不刪除(必須)

(3)item是向陣列中新增的新專案,可以是多個(可選)

push()方法是向陣列末尾新增乙個或多個新專案並返回新陣列的長度

concat()方法連線兩個或多個陣列,不會改變原有陣列,返回乙個新陣列

var array = [1,4,-8,-3,6,12,9,8];

function insertsort(arr)

}//將最小值插入,並將原來位置的最小值刪除

arr.splice(i,0,min);

arr.splice(minindex+1,1);

}}selectsort(array);

document.write(array);

(1)在未排序序列中找到最小(大)元素

(2)並存放到排序序列的起始位置

(3)然後,再從剩餘未排序元素中繼續尋找最小(大)元素

(4)然後放到已排序序列的末尾。

(5)以此類推

function order(arr)

}mid=arr[i]; // 將陣列最後乙個元素的值賦給中間變數;

arr[num]=mid; // 將中間變數賦給最大值的元素;

arr[i]=max; // 將最大值賦給陣列最後乙個元素;

}return arr;

}

1.獲取陣列中最大的元素

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

var max=0;

for(var i=0;i2.把最大值放到陣列最後:

*定義乙個中間變數來交換最大值和最後乙個元素的值;

*定義乙個變數來儲存最大值所在的位置;

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

var len=arr.length;

var max=0;

var num=0;

var mid=0;

for(var i=0;i3.使用第二重迴圈來執行第2步:

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

var len=arr.length;

var max=0;

var num=0;

var mid=0;

for(var i=len-1;i>0;i--)

}mid=arr[li];

arr[num]=mid;

arr[i]=max;

4.把第3步封裝在函式中:

function order(arr)

}mid=arr[i]; // 將陣列最後乙個元素的值賦給中間變數;

arr[num]=mid; // 將中間變數賦給最大值的元素;

arr[i]=max; // 將最大值賦給陣列最後乙個元素;

}return arr;

}

數字排序為公升序排列!

這種方法會改變原始陣列!

Js實現陣列排序

常用排序的js實現方案,包括原型鏈方法呼叫 簡單選擇排序 氣泡排序 插入排序 快速排序 希爾排序 堆排序 歸併排序。var arr 1 7,9 8,3 2,6 0,5 4 arr.sort a,b a b arr.proto sort console.log arr 0,1,2,3,4,5,6,7,...

JS陣列排序

function bubblesort array return array vararray1 2,5,1,9 bubblesort array1 1,2,5,9 function usesort array var array1 2,5,1,9 usesort array1 在資料集中,選擇乙個...

js 陣列排序

var array 1,4,8,3,6,12,9,8 function compare val1,val2 array.sort compare document.write array sort 方法按照公升序排列陣列項,會呼叫每個陣列項的tostring 轉型方法,然後比較得到的字串。tostr...