首頁  >  文章  >  web前端  >  JavaScript趣題:有序列表

JavaScript趣題:有序列表

黄舟
黄舟原創
2017-01-22 14:50:332029瀏覽

有序列表區別於無序列表,它裡面儲存的元素都是一種有序的狀態,比如說遞增或遞減。在許多有序列表的實作中,你肯定找不到類似addAfter的操作,因為它是無序列表的特性之一。

一般的有序列表都會提供幾個基本操作:

1.add用於將元素添加到列表中,並維持其有序狀態

2.get操作,用於獲取指定索引下的元素

3.length屬性或方法獲取列表長度

這些操作中,add是最重要的一部分,實現它通常是由3部分組成(以遞增序列為例):

1.從左到右遍歷列表,直到找到大於或等於插入值的元素,此時這個元素所在的位置,便是要插入的位置

2.將插入位置右邊的元素通通向後移動一位

3.將值插入該位置

function SortedList() {  
    this.length = 0;  
    this.elementData = [];  
}  
  
SortedList.prototype.add = function(val) {  
    var array = this.elementData;  
    for(var i=0;i<array.length;i++){  
        if(val <= array[i]){  
            break;  
        }  
    }  
    for(var j=array.length-1;j>=i;j--){  
        array[j+1] = array[j];  
    }  
    array[i] = val;  
    this.length++;  
}  
  
SortedList.prototype.get = function(i) {  
    return this.elementData[i];  
}

以上就是JavaScript趣題:有序列表的內容,更多相關內容請關注PHP中文網(www.php.cn)!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn