有序列表區別於無序列表,它裡面儲存的元素都是一種有序的狀態,比如說遞增或遞減。在許多有序列表的實作中,你肯定找不到類似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)!