Javascript中常用的排序演算法(執行個體)

來源:互聯網
上載者:User

選擇排序

 代碼如下 複製代碼


function selectSort(array) {
 var index, temp;

 for (var i = 0; i < array.length - 1; i++) {
  index = i;
  temp = array[i];
  for (var j = i + 1; j < array.length; j++) {
   if (temp > array[j]) {
    index = j;
    temp = array[j];
   }
  }
  array[index] = array[i];
  array[i] = temp;
 }
 return array;
}

// test
var test = [2, 1, 22, 64, 4, 12, 56, 89, 7, 9, 85];
console.log(selectSort(test));1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.


冒泡排序 www.111cn.net

 代碼如下 複製代碼


// 冒泡排序
function bubbleSort(array) {
 var temp;

 for (var i = 0; i < array.length - 1; i++) {
  for (var j = 0; j < array.length - i - 1; j++) {
   if (array[j] > array[j+1]) {
    temp = array[j];
    array[j] = array[j+1];
    array[j+1] = temp;
   }
  }
 }
 return array;
}

// test
var test = [1, 2, 22, 64, 4, 12, 56, 89, 7, 9, 85];
console.log(bubbleSort(test));

 


插入排序

 代碼如下 複製代碼

function insertSort(array) {
 var len = array.length;
 var temp;

 for (var i = 1; i < len; i++) {
  temp = array[i];
  for (var j = i - 1; j >= 0 && temp < array[j]; j--) {
   array[j+1] = array[j];
  }
  array[j+1] = temp;
 }
 return array;
}

// test
var test = [1, 2, 22, 64, 4, 12, 56, 89, 7, 9, 85];
console.log(insertSort(test)); // [1, 2, 4, 7, 9, 12, 22, 56, 64, 85, 89] 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.