国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS冒泡排序(prototype詳解)

LMou / 611人閱讀

摘要:代碼講解創建一個數組方便實驗。給類增加方法把指向存儲起來當前指向也就是調用方法的數組實例遍歷實例里的每個元素為什么因為第一遍循環的時候最大的數字已經被換到最后一位去了,所以可以少做一次循環這邊循環和上面是同樣的道理,但是呢。

1.代碼講解
var arr = [4,21,5,10,3];
//創建一個數組,方便實驗。
Array.prototype.sorts = function(){
//給Array類增加sorts方法
    var _this = this;
    //把this指向存儲起來,當前this指向Array(也就是調用sorts方法的數組,Array實例)
    for(var i=0;i<_this.length-1;i++){
    //遍歷Array(實例)里的每個元素.為什么-1,因為第一遍循環的時候最大的數字已經被換到最后一位去了,所以可以少做一次循環.
        for(var k=0;k<_this.length-i-1;k++){
        //這邊循環-1和上面-1是同樣的道理,但是-i呢。因為當i=0時,最大一位數已經到最后去了,i=1第二大的數字也到最后第二位去了,所以沒有必要再去比較后面已經排完序的數字了.
            if(_this[k] > _this[k+1]){
            //這邊是冒泡排序的核心,當左邊數字比右邊數字大的時候,執行以下代碼.
            //這邊大于>改為小于的話,排序就會倒過來,你不妨可以試試.
                var temp = _this[k];
                //聲明變量temp,把左邊的元素賦值給它.假設左邊的元素是A,temp就等于A了.
                _this[k] = _this[k+1];
                //右邊的元素賦值給左邊的元素.假設右邊的元素為B,那_this[k]就等于B了.
                _this[k+1] = temp;
                //把temp元素賦值給右邊的元素,那右邊的元素_this[k+1]就等于A了.
                //最后的效果就是左邊的元素_this[k]為B,右邊的元素_this[k+1]為A,它們互相換了位置.
            }
        }
    }
    return _this;
    //最后返回這個數組
}
console.log(arr.sorts());
//打印出[3.4.5.10.21];
2.代碼運行
i=0時:[4,5,10,3,21],
i=1時:[4,5,3,10,21],
i=2時:[4,3,5,10,21],
i=3時:[3,4,5,10,21].
3.補充

上面的代碼舉例是數字,其實也可以對字母進行排序,比如["d","a","c"].sorts().打印出來就是["a","c","d"].字母的大小比較是來自于ASCLL碼,每一個字母都有自己的一個ASCLL碼,有興趣的朋友可以去了解下.

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/82395.html

相關文章

  • 【連載】前端個人文章整理-從基礎到入門

    摘要:個人前端文章整理從最開始萌生寫文章的想法,到著手開始寫,再到現在已經一年的時間了,由于工作比較忙,更新緩慢,后面還是會繼更新,現將已經寫好的文章整理一個目錄,方便更多的小伙伴去學習。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個人前端文章整理 從最開始萌生寫文章的想法,到著手...

    madthumb 評論0 收藏0
  • Array.prototype.sort()方法到底是如何排序的?

    摘要:本文除了會帶大家了解一些方法后面簡寫為方法的基本定義和用法之外,還會探討一下方法到底是使用的什么排序算法。下面我們來看看方法到底是如何排序的。 ??本文除了會帶大家了解一些Array.prototypr.sort()方法(后面簡寫為sort()方法)的基本定義和用法之外,還會探討一下sort()方法到底是使用的什么排序算法。簡單度娘了一下,網上的那些sort()方法詳解文章,大多只說了...

    youkede 評論0 收藏0
  • 冒泡排序及優化詳解

    摘要:算法思想冒泡排序屬于一種典型的交換排序。冒泡排序常規版代碼實現下面詳細分析一下常規版的冒泡排序,整個算法流程其實就是上面實例所分析的過程。 算法思想   冒泡排序屬于一種典型的交換排序。   交換排序顧名思義就是通過元素的兩兩比較,判斷是否符合要求,如過不符合就交換位置來達到排序的目的。冒泡排序名字的由來就是因為在交換過程中,類似水冒泡,?。ù螅┑脑亟涍^不斷的交換由水底慢慢的浮到水的...

    evin2016 評論0 收藏0
  • JS數據結構與算法_排序和搜索算法

    摘要:上一篇數據結構與算法樹寫在前面這是學習數據結構與算法的最后一篇博客,也是在面試中常常會被問到的一部分內容排序和搜索。 上一篇:JS數據結構與算法_樹 寫在前面 這是《學習JavaScript數據結構與算法》的最后一篇博客,也是在面試中常常會被問到的一部分內容:排序和搜索。在這篇博客之前,我每每看到排序頭就是大的,心里想著類似冒泡排序,兩層遍歷啪啪啪就完事了,然后再也無心去深入研究排序相...

    姘擱『 評論0 收藏0

發表評論

0條評論

LMou

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<