最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于JavaScript實(shí)現(xiàn)的插入排序算法分析

 更新時(shí)間:2017年04月14日 09:51:04   作者:布瑞澤的童話  
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)的插入排序算法,結(jié)合實(shí)例形式詳細(xì)分析了插入排序的原理、操作步驟及javascript相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了基于JavaScript實(shí)現(xiàn)的插入排序算法。分享給大家供大家參考,具體如下:

根據(jù)排序過(guò)程中使用的存儲(chǔ)器不同,可以將排序方法分為兩大類:內(nèi)部排序外部排序。

內(nèi)部排序是指待排序記錄存放在計(jì)算機(jī)隨機(jī)存儲(chǔ)器中進(jìn)行的排序過(guò)程;外部排序指的是待排序的記錄數(shù)量很大,以致內(nèi)存一次不能容納全部記錄,在排序過(guò)程中尚需對(duì)外存進(jìn)行訪問(wèn)的排序過(guò)程。

下面介紹幾種常見(jiàn)的內(nèi)部排序方式:

插入排序

插入排序是一種最簡(jiǎn)單的排序方法,它的基本操作是將一個(gè)記錄插入已排好序的有序表中,從而得到一個(gè)新的、記錄數(shù)加1的有序表。

插入排序有兩個(gè)循環(huán),外循環(huán)將數(shù)組元素挨個(gè)移動(dòng),而內(nèi)循環(huán)則對(duì)外循環(huán)中選定的元素及它后面的那個(gè)元素比較。如果外循環(huán)中選中元素小,那么數(shù)組元素會(huì)向右移動(dòng),為內(nèi)循環(huán)中的這個(gè)元素騰出位置。

下面我們通過(guò)js實(shí)現(xiàn)直接插入排序過(guò)程:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>JavaScript插入排序</title>
  </head>
  <body>
<script type="text/javascript">
  function insertSort(nums){//插入排序
    var temp,
      inner;
    for(var outer=1;outer<nums.length;outer++){//外循環(huán)選中元素
      temp=nums[outer];//選中元素
      inner=outer;
      while(inner>0&&(nums[inner-1]>=temp)){//內(nèi)循環(huán)與選中元素對(duì)比
        nums[inner]=nums[inner-1];//如果選中元素前面的元素大,則前面的元素移到右側(cè)
        inner--;//依次比較
      }
      nums[inner]=temp;//直到找到正確的位置
    }
  }
  function show(nums){//顯示數(shù)組
    for(var i=0;i<nums.length;i++){
      document.write(nums[i]+' ');
    }
    document.write('<br>');
  }
  var nums=[6,10,0,6,5,8,7,4,2,7];
  show(nums);//6 10 0 6 5 8 7 4 2 7
  insertSort(nums);
  show(nums);//0 2 4 5 6 6 7 7 8 10
</script>
  </body>
</html>

排序過(guò)程如下:

可以看到,插入排序的運(yùn)行并非通過(guò)數(shù)據(jù)交換,而是通過(guò)將較大的數(shù)組元素移動(dòng)到右側(cè),為數(shù)組左側(cè)的較小元素騰出位置。其時(shí)間復(fù)雜度為O(n2)。

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

临城县| 葫芦岛市| 潍坊市| 百色市| 阜城县| 黔西| 阜新| 三河市| 那坡县| 新平| 延安市| 页游| 沙河市| 沈阳市| 塘沽区| 西乌珠穆沁旗| 江口县| 龙江县| 平阳县| 宁德市| 武鸣县| 含山县| 来宾市| 鹰潭市| 湟中县| 云和县| 沾益县| 洞头县| 姚安县| 松原市| 安岳县| SHOW| 德兴市| 潼南县| 延庆县| 连云港市| 龙门县| 陇川县| 山东省| 泸州市| 天气|