一對一直播軟體原始碼,比較常用的陣列排序方式有哪些?

云豹科技-苏凌霄發表於2024-06-01

一對一直播軟體原始碼,比較常用的陣列排序方式有哪些?

一、簡單的sort排序:

var arr = [1,5,3,87,23];
arr.sort(function(a,b) {
    return a-b;
})
console.log(arr); // 輸出:[1,23,3,5,87]

注:若返回b-a可獲得從大到小的排序;
陣列的sort方法只能實現簡單的按位排序,並不精確。

二、氣泡排序

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

function fn(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 fn(arr) { //選擇排序
    //用這個數分別和別的數相比較,改變的是索引的位置,每輪結束後才交換為位置
    for(var i=0; i<arr.length-1; i++) {  //控制外層比較的輪數
        var minIndex = i;  //先假定一個最小值,定義變數minIndex指向該值的索引
        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;  //將排序後的陣列返回
}

以上就是一對一直播軟體原始碼,比較常用的陣列排序方式有哪些?, 更多內容歡迎關注之後的文章

相關文章