js中 的排序方法

lee_lgw發表於2021-09-09


氣泡排序

思想:陣列中相鄰元素兩兩比較,如果第一個元素大於第二個元素,交換位置,第一輪比較結束,能確定一個最大值,然後進行第二類比較。

var arr = [11,2,3,5,6,67];

for(var i=1; i<arr.length; i++){

for(var j=0; j<arr.length-i; j++){

if(arr[j]>arr[j+1]){

var temp = arr[j];

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

arr[j+1] = temp;

}

}

}

**選擇排序**

思想:假定陣列中第一個元素為最小值,對應的索引值為minIndex,讓該值和剩餘元素進行比較,改變minIndex的指向,指向小值的索引,讓minIndex對應的值和剩餘的值進行比較,第一輪結束能確定最小值對應minIndex,讓其與第一個元素的位置進行交換

var arr = [11,3,45,56,6,7]

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;

                    }

                    console.log(selectSort(arr));

©著作權歸作者所有:來自51CTO部落格作者outsider96的原創作品,如需轉載,請註明出處,否則將追究法律責任


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1020/viewspace-2818983/,如需轉載,請註明出處,否則將追究法律責任。

相關文章