中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

幾種經典排序算法的JS實現方法
來源:易賢網 閱讀:1494 次 日期:2016-07-15 16:46:40
溫馨提示:易賢網小編為您整理了“幾種經典排序算法的JS實現方法”,方便廣大網友查閱!

下面小編就為大家帶來一篇幾種經典排序算法的JS實現方法。小編覺得挺不錯的,現在分享給大家,也給大家做個參考。

一.冒泡排序

function BubbleSort(array) {

  var length = array.length;

  for (var i = length - 1; i > 0; i--) { //用于縮小范圍

    for (var j = 0; j < i; j++) { //在范圍內進行冒泡,在此范圍內最大的一個將冒到最后面

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

        var temp = array[j];

        array[j] = array[j+1];

        array[j+1] = temp;

      }

    }

    console.log(array);

    console.log("-----------------------------");

  }

  return array;

}

var arr = [10,9,8,7,7,6,5,11,3];

var result = BubbleSort(arr);

console.log(result); 

/*

[ 9, 8, 7, 7, 6, 5, 10, 3, 11 ]

-----------------------------

[ 8, 7, 7, 6, 5, 9, 3, 10, 11 ]

-----------------------------

[ 7, 7, 6, 5, 8, 3, 9, 10, 11 ]

-----------------------------

[ 7, 6, 5, 7, 3, 8, 9, 10, 11 ]

-----------------------------

[ 6, 5, 7, 3, 7, 8, 9, 10, 11 ]

-----------------------------

[ 5, 6, 3, 7, 7, 8, 9, 10, 11 ]

-----------------------------

[ 5, 3, 6, 7, 7, 8, 9, 10, 11 ]

-----------------------------

[ 3, 5, 6, 7, 7, 8, 9, 10, 11 ]

-----------------------------

[ 3, 5, 6, 7, 7, 8, 9, 10, 11 ]

*/

二.選擇排序

function SelectionSort(array) {

  var length = array.length;

  for (var i = 0; i < length; i++) { //縮小選擇的范圍

    var min = array[i]; //假定范圍內第一個為最小值

    var index = i; //記錄最小值的下標

    for (var j = i + 1; j < length; j++) { //在范圍內選取最小值

      if (array[j] < min) {

        min = array[j];

        index = j;

      }

    }

    if (index != i) { //把范圍內最小值交換到范圍內第一個

      var temp = array[i];

      array[i] = array[index];

      array[index] = temp;

    }

    console.log(array);

    console.log("---------------------");

  }

  return array;

}

var arr = [ 1, 10, 100, 90, 65, 5, 4, 10, 2, 4 ];

var result = SelectionSort(arr);

console.log(result);

/*

[ 1, 10, 100, 90, 65, 5, 4, 10, 2, 4 ]

---------------------

[ 1, 2, 100, 90, 65, 5, 4, 10, 10, 4 ]

---------------------

[ 1, 2, 4, 90, 65, 5, 100, 10, 10, 4 ]

---------------------

[ 1, 2, 4, 4, 65, 5, 100, 10, 10, 90 ]

---------------------

[ 1, 2, 4, 4, 5, 65, 100, 10, 10, 90 ]

---------------------

[ 1, 2, 4, 4, 5, 10, 100, 65, 10, 90 ]

---------------------

[ 1, 2, 4, 4, 5, 10, 10, 65, 100, 90 ]

---------------------

[ 1, 2, 4, 4, 5, 10, 10, 65, 100, 90 ]

---------------------

[ 1, 2, 4, 4, 5, 10, 10, 65, 90, 100 ]

---------------------

[ 1, 2, 4, 4, 5, 10, 10, 65, 90, 100 ]

---------------------

[ 1, 2, 4, 4, 5, 10, 10, 65, 90, 100 ]

*/

三.插入排序

function InsertionSort(array) {

  var length = array.length;

  for (var i = 0; i < length - 1; i++) {

    //i代表已經排序好的序列最后一項下標

    var insert = array[i+1];

    var index = i + 1;//記錄要被插入的下標

    for (var j = i; j >= 0; j--) {

      if (insert < array[j]) {

        //要插入的項比它小,往后移動

        array[j+1] = array[j];

        index = j;

      }

    }

    array[index] = insert;

    console.log(array);

    console.log("-----------------------");

  }

  return array;

}

var arr = [100,90,80,62,80,8,1,2,39];

var result = InsertionSort(arr);

console.log(result);

/*

[ 90, 100, 80, 62, 80, 8, 1, 2, 39 ]

-----------------------

[ 80, 90, 100, 62, 80, 8, 1, 2, 39 ]

-----------------------

[ 62, 80, 90, 100, 80, 8, 1, 2, 39 ]

-----------------------

[ 62, 80, 80, 90, 100, 8, 1, 2, 39 ]

-----------------------

[ 8, 62, 80, 80, 90, 100, 1, 2, 39 ]

-----------------------

[ 1, 8, 62, 80, 80, 90, 100, 2, 39 ]

-----------------------

[ 1, 2, 8, 62, 80, 80, 90, 100, 39 ]

-----------------------

[ 1, 2, 8, 39, 62, 80, 80, 90, 100 ]

-----------------------

[ 1, 2, 8, 39, 62, 80, 80, 90, 100 ]

*/

四.希爾排序

function ShellSort(array) {

  var length = array.length;

  var gap = Math.round(length / 2);

  while (gap > 0) {

    for (var i = gap; i < length; i++) {

      var insert = array[i];

      var index = i;

      for (var j = i; j >= 0; j-=gap) {

        if (insert < array[j]) {

          array[j+gap] = array[j];

          index = j;

        }

      }

      array[index] = insert;

    }

    console.log(array);

    console.log("-----------------------");

    gap = Math.round(gap/2 - 0.1);

  }

  return array;

}

var arr = [ 13, 14, 94, 33, 82, 25, 59, 94, 65, 23, 45, 27, 73, 25, 39, 10 ];

var result = ShellSort(arr);

console.log(result); 

/*

[ 13, 14, 45, 27, 73, 25, 39, 10, 65, 23, 94, 33, 82, 25, 59, 94 ]

-----------------------

[ 13, 14, 39, 10, 65, 23, 45, 27, 73, 25, 59, 33, 82, 25, 94, 94 ]

-----------------------

[ 13, 10, 39, 14, 45, 23, 59, 25, 65, 25, 73, 27, 82, 33, 94, 94 ]

-----------------------

[ 10, 13, 14, 23, 25, 25, 27, 33, 39, 45, 59, 65, 73, 82, 94, 94 ]

-----------------------

[ 10, 13, 14, 23, 25, 25, 27, 33, 39, 45, 59, 65, 73, 82, 94, 94 ]

*/

五.歸并排序

function MergeSort(array) {

  var length = array.length;

  if (length <= 1) {

    return array;

  } else {

    var num = Math.ceil(length/2);

    var left = MergeSort(array.slice(0, num));

    var right = MergeSort(array.slice(num, length));

    return merge(left, right);

  }

}

function merge(left, right) {

  console.log(left);

  console.log(right);

  var a = new Array();

  while (left.length > 0 && right.length > 0) {

    if (left[0] <= right[0]) {

      var temp = left.shift();

      a.push(temp);

    } else {

      var temp = right.shift();

      a.push(temp);

    }

  }

  if (left.length > 0) {

    a = a.concat(left);

  }

  if (right.length > 0) {

    a = a.concat(right);

  }

  console.log(a);

  console.log("-----------------------------");

  return a;

}

var arr = [ 13, 14, 94, 33, 82, 25, 59, 94, 65, 23, 45, 27, 73, 25, 39, 10 ];

var result = MergeSort(arr);

console.log(result);

/*

[ 13 ]

[ 14 ]

[ 13, 14 ]

-----------------------------

[ 94 ]

[ 33 ]

[ 33, 94 ]

-----------------------------

[ 13, 14 ]

[ 33, 94 ]

[ 13, 14, 33, 94 ]

-----------------------------

[ 82 ]

[ 25 ]

[ 25, 82 ]

-----------------------------

[ 59 ]

[ 94 ]

[ 59, 94 ]

-----------------------------

[ 25, 82 ]

[ 59, 94 ]

[ 25, 59, 82, 94 ]

-----------------------------

[ 13, 14, 33, 94 ]

[ 25, 59, 82, 94 ]

[ 13, 14, 25, 33, 59, 82, 94, 94 ]

-----------------------------

[ 65 ]

[ 23 ]

[ 23, 65 ]

-----------------------------

[ 45 ]

[ 27 ]

[ 27, 45 ]

-----------------------------

[ 23, 65 ]

[ 27, 45 ]

[ 23, 27, 45, 65 ]

-----------------------------

[ 73 ]

[ 25 ]

[ 25, 73 ]

-----------------------------

[ 39 ]

[ 10 ]

[ 10, 39 ]

-----------------------------

[ 25, 73 ]

[ 10, 39 ]

[ 10, 25, 39, 73 ]

-----------------------------

[ 23, 27, 45, 65 ]

[ 10, 25, 39, 73 ]

[ 10, 23, 25, 27, 39, 45, 65, 73 ]

-----------------------------

[ 13, 14, 25, 33, 59, 82, 94, 94 ]

[ 10, 23, 25, 27, 39, 45, 65, 73 ]

[ 10, 13, 14, 23, 25, 25, 27, 33, 39, 45, 59, 65, 73, 82, 94, 94 ]

-----------------------------

[ 10, 13, 14, 23, 25, 25, 27, 33, 39, 45, 59, 65, 73, 82, 94, 94 ]

*/

六.快速排序

function QuickSort(array) {

  var length = array.length;

  if (length <= 1) {

    return array;

  } else {

    var smaller = [];

    var bigger = [];

    var base = [array[0]];

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

      if (array[i] <= base[0]) {

        smaller.push(array[i]);

      } else {

        bigger.push(array[i]);

      }

    }

    console.log(smaller.concat(base.concat(bigger)));

    console.log("-----------------------");

    return QuickSort(smaller).concat(base.concat(QuickSort(bigger)));

  }

}

var arr = [ 8, 10, 100, 90, 65, 5, 4, 10, 2, 4 ];

var result = QuickSort(arr);

console.log(result);

/*

[ 5, 4, 2, 4, 8, 10, 100, 90, 65, 10 ]

-----------------------

[ 4, 2, 4, 5 ]

-----------------------

[ 2, 4, 4 ]

-----------------------

[ 2, 4 ]

-----------------------

[ 10, 10, 100, 90, 65 ]

-----------------------

[ 90, 65, 100 ]

-----------------------

[ 65, 90 ]

-----------------------

[ 2, 4, 4, 5, 8, 10, 10, 65, 90, 100 ]

*/

以上這篇幾種經典排序算法的JS實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考

更多信息請查看網絡編程
易賢網手機網站地址:幾種經典排序算法的JS實現方法
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
久久一区二区视频| 一区二区三区不卡视频在线观看 | 亚洲欧美另类在线观看| 黄色精品一区| 欧美视频在线视频| 欧美日韩一区二区三区在线看 | 亚洲风情亚aⅴ在线发布| 亚洲国产精品久久久久秋霞蜜臀 | 99国产精品久久久久久久久久 | 最新成人av网站| 91久久久久久国产精品| 亚洲国产高清在线| 永久免费视频成人| 日韩一级精品| 亚洲一区在线看| 中日韩午夜理伦电影免费| 香蕉精品999视频一区二区| 99综合在线| 欧美在线观看视频| 麻豆成人综合网| 国产精品久久久久av免费| 在线观看精品视频| 一本综合精品| 午夜国产精品影院在线观看| 久久精视频免费在线久久完整在线看| 欧美人与禽猛交乱配视频| 国产酒店精品激情| 在线国产亚洲欧美| 亚洲精品美女在线观看| 久久久久天天天天| 欧美日韩网址| 亚洲人成欧美中文字幕| 亚洲欧美视频一区二区三区| 农夫在线精品视频免费观看| 国产综合精品| 一区二区精品在线观看| 欧美日韩精品| 亚洲福利视频二区| 亚洲老板91色精品久久| 久久久久久久综合狠狠综合| 国产日产欧产精品推荐色| 一本大道久久a久久精二百| 久久先锋影音av| av不卡在线观看| 免费日韩av| 在线看日韩av| 久久香蕉精品| 国产亚洲欧洲一区高清在线观看 | 欧美在线观看视频| 国产精品国产成人国产三级| 国产视频观看一区| 亚洲小说春色综合另类电影| 欧美精品在线极品| 18成人免费观看视频| 久久综合999| 国产亚洲免费的视频看| 亚洲欧美经典视频| 欧美日韩午夜精品| 亚洲国产一二三| 久久免费视频网| 亚洲美女电影在线| 国产欧美日韩亚洲精品| 香蕉久久一区二区不卡无毒影院 | 欧美日韩一区二区免费在线观看| 欧美成人免费在线| 亚洲精品日韩在线观看| 欧美精品乱人伦久久久久久| 在线视频你懂得一区| 亚洲欧美日韩视频一区| 国产亚洲激情在线| 欧美视频一区二区在线观看 | 激情欧美日韩一区| 国产精品国产三级国产aⅴ浪潮| 老司机67194精品线观看| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 亚洲视频成人| 欧美日韩成人综合| 嫩草伊人久久精品少妇av杨幂| 国产精品爽爽ⅴa在线观看| 欧美成人精品h版在线观看| 中文精品99久久国产香蕉| 一区精品在线| 欧美激情综合色综合啪啪| 老司机精品福利视频| 欧美一区二区三区在线观看| 亚洲欧美日韩网| 亚洲中字黄色| av成人天堂| 亚洲午夜精品福利| 亚洲私人影院在线观看| 亚洲电影成人| 亚洲日本理论电影| 亚洲伦理在线观看| 久久久91精品国产| 国产精品成人aaaaa网站| 精品盗摄一区二区三区| 欧美精品一区二区久久婷婷| 91久久嫩草影院一区二区| 欧美日韩精品在线| 国产午夜精品理论片a级探花| 一区二区三区日韩欧美| 欧美成人dvd在线视频| 在线不卡中文字幕| 久久久久一区二区三区四区| 国产欧美一区二区三区在线老狼 | 国产日韩精品一区| 欧美一区网站| 亚洲电影观看| 亚洲少妇自拍| 国产欧美日韩免费| 欧美精品一区二区三区一线天视频| 欧美精品日韩www.p站| 国产伦精品一区二区三区高清版 | 欧美一区二区| 欧美寡妇偷汉性猛交| 国产精品久久中文| 国产精品久久久久久av福利软件| 国产精品国产亚洲精品看不卡15| 国产精品一区二区欧美| 亚洲日本乱码在线观看| 先锋影院在线亚洲| 国产乱肥老妇国产一区二| 亚洲理论在线观看| 欧美精品videossex性护士| 91久久国产综合久久蜜月精品| 久久色中文字幕| 在线观看国产成人av片| 欧美成人亚洲成人| 亚洲一区二区四区| 国产欧美日韩另类一区 | 免费久久99精品国产自| 欧美日韩国产片| 欧美色另类天堂2015| 国产美女扒开尿口久久久| 狠狠久久亚洲欧美专区| 免费日韩成人| 久久精品综合一区| 亚洲免费一在线| **性色生活片久久毛片| 欧美成人黑人xx视频免费观看| 日韩午夜精品| 久久综合九色综合欧美就去吻| 欧美电影免费观看| 欧美激情亚洲精品| 国产视频精品网| 国产色视频一区| 亚洲黄色一区二区三区| 性8sex亚洲区入口| 国产亚洲人成a一在线v站| 久久久99免费视频| 亚洲国产精品久久久久秋霞影院 | 免费黄网站欧美| 亚洲精品中文字幕在线观看| 国产欧美大片| 国产精品日韩欧美大师| 久久久国产精品一区二区中文| 99av国产精品欲麻豆| 伊伊综合在线| 在线精品国产欧美| 国产亚洲欧美另类一区二区三区| 欧美日韩国产综合视频在线观看| 久久久久久久91| 久久久噜噜噜久久中文字幕色伊伊| 中文日韩电影网站| 中日韩午夜理伦电影免费| 一本久久综合亚洲鲁鲁| 在线视频你懂得一区二区三区| 亚洲青色在线| 夜夜嗨av一区二区三区网页 | 久久高清免费观看| 亚洲综合另类| 午夜精品亚洲| 久久久久国内| 欧美区二区三区| 国产精品成人观看视频免费| 国产精品无码专区在线观看| 国产日本欧洲亚洲| 欧美屁股在线| 欧美私人啪啪vps| 国产精品日韩在线播放| 国产日韩在线视频| 在线不卡亚洲| 在线亚洲欧美视频| 亚洲免费在线观看| 久久国产夜色精品鲁鲁99| 一本色道久久综合亚洲精品高清| 在线综合亚洲欧美在线视频| 国产丝袜一区二区三区| 国产麻豆日韩| 9l视频自拍蝌蚪9l视频成人| 亚洲午夜电影网| 国产精品国产三级国产aⅴ浪潮| 一区二区三区日韩精品| 久久久999精品| 国产精品裸体一区二区三区| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲一区区二区| 蜜臀久久99精品久久久久久9| 欧美国产精品一区| 国内精品久久久久久 |