Maison  >  Article  >  interface Web  >  Questions amusantes JavaScript : liste ordonnée

Questions amusantes JavaScript : liste ordonnée

黄舟
黄舟original
2017-01-22 14:50:332032parcourir

Une liste ordonnée est différente d'une liste non ordonnée. Les éléments qui y sont stockés sont dans un état ordonné, comme croissant ou décroissant. Dans de nombreuses implémentations de listes ordonnées, vous ne trouverez certainement pas d'opération comme addAfter, car c'est l'une des caractéristiques des listes non ordonnées.

Les listes ordonnées générales fournissent plusieurs opérations de base :

1.add est utilisé pour ajouter des éléments à la liste et maintenir son état ordonné

2. opération get, utilisée pour obtenir. l'élément à l'index spécifié

Attribut 3.length ou méthode pour obtenir la longueur de la liste

Parmi ces opérations, l'ajout est la partie la plus importante, et sa mise en œuvre se compose généralement de 3 parties Composition (en prenant comme exemple la séquence croissante) :

1. Parcourez la liste de gauche à droite jusqu'à trouver un élément supérieur ou égal à la valeur insérée. A ce moment, la position de cet élément est la. position à insérer

2. Déplacez l'élément à droite de la position d'insertion d'une position en arrière

3. Insérez la valeur dans la position

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

Ce qui précède. est une question JavaScript intéressante : liste ordonnée Contenu, veuillez faire attention au site Web PHP chinois (www.php.cn) pour plus de contenu connexe !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn