Heim  >  Artikel  >  Web-Frontend  >  Lustige JavaScript-Fragen: Geordnete Liste

Lustige JavaScript-Fragen: Geordnete Liste

黄舟
黄舟Original
2017-01-22 14:50:331975Durchsuche

Eine geordnete Liste unterscheidet sich von einer ungeordneten Liste. Die darin gespeicherten Elemente befinden sich in einem geordneten Zustand, z. B. in aufsteigender oder absteigender Reihenfolge. In vielen Implementierungen geordneter Listen werden Sie eine Operation wie addAfter definitiv nicht finden, da dies eines der Merkmale ungeordneter Listen ist.

Allgemeine geordnete Listen bieten mehrere Grundoperationen:

1.add wird verwendet, um Elemente zur Liste hinzuzufügen und ihren geordneten Zustand beizubehalten

2 das Element am angegebenen Index

3.length-Attribut oder -Methode zum Abrufen der Länge der Liste

Unter diesen Operationen ist add der wichtigste Teil, und seine Implementierung besteht normalerweise aus 3 Teilen Zusammensetzung (am Beispiel einer aufsteigenden Reihenfolge):

1. Durchlaufen Sie die Liste von links nach rechts, bis ein Element gefunden wird, das größer oder gleich dem eingefügten Wert ist Einzufügende Position

2. Verschieben Sie das Element um eine Position nach rechts von der Einfügeposition

3. Fügen Sie den Wert an der Position ein

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];  
}

Das obige ist eine interessante JavaScript-Frage: Inhalt der geordneten Liste. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn