Esempio n. 1
0
        public IEnumerator <T> GetEnumerator()
        {
            Chainage <T> courant = Premier;

            while (courant != null)
            {
                yield return(courant.Valeur);

                courant = courant.Suivant;
            }
        }
Esempio n. 2
0
        public bool MoveNext()
        {
            if (courant == null)
            {
                courant = listeChainee.Premier;
            }
            else
            {
                courant = courant.Suivant;
            }

            return(courant != null);
        }
Esempio n. 3
0
        public Chainage <T> ObtenirElement(int indice)
        {
            Chainage <T> temp = Premier;

            for (int i = 1; i <= indice; i++)
            {
                if (temp == null)
                {
                    return(null);
                }
                temp = temp.Suivant;
            }
            return(temp);
        }
Esempio n. 4
0
    public Chainage <T> ObtenirElement(int indice)
    {
        Chainage <T> temp = Premier;

        for (int i = 1; i <= indice; i++)
        {
            if (temp == null) // si la liste est vide
            {
                return(null);
            }
            temp = temp.Suivant; // si la liste contient au moins un élément
        }
        return(temp);
    }
Esempio n. 5
0
 public void Ajouter(T element)
 {
     if (Premier == null)
     {
         Premier = new Chainage <T> {
             Valeur = element
         };
     }
     else
     {
         Chainage <T> dernier = Dernier;
         dernier.Suivant = new Chainage <T> {
             Valeur = element, Precedent = dernier
         };
     }
 }
Esempio n. 6
0
        public override string ToString()
        {
            if (!String.IsNullOrEmpty(Name))
            {
                return(Name);
            }

            var branchName = branch == null ? "<no branch>" : branch.Name;
            var str        = GetType().Name + ": " + branchName + ", " + Chainage.ToString("g4");

            if (Length > 0)
            {
                str = GetType().Name + ": " + branchName + ", [" + Chainage.ToString("g4") + " - " + (Chainage + Length).ToString("g4") + "]";
            }
            return(str);
        }
Esempio n. 7
0
        public override string ToString()
        {
            if (!String.IsNullOrEmpty(Name))
            {
                return(Name);
            }

            var branchName = Branch == null ? "<no branch>" : Branch.Name;
            var str        = GetType().Name + ": " + branchName + ", " + Chainage.ToString("g4");

            if (Length > 0)
            {
                var endChainage = DirectionIsPositive ? Chainage + Length : Chainage - Length;
                str = GetType().Name + ": " + branchName + ", [" + Chainage.ToString("g4") + " - " + endChainage.ToString("g4") + "]";
            }
            return(str);
        }
Esempio n. 8
0
 public void Ajouter(T element)
 {
     if (Premier == null)
     {
         // ajoute un premier élément si pas de premier
         Premier = new Chainage <T> {
             Valeur = element
         };
     }
     else
     {
         // posistionnement au dernier élément et création d'un chainge sur
         //sa propriété suivant dont la valeur est l'élément et le précédent le dernier
         Chainage <T> dernier = Dernier;
         dernier.Suivant = new Chainage <T> {
             Valeur = element, Precedent = dernier
         };
         // la determination du nouveau dernier se fait via le get de Dernier
     }
 }
Esempio n. 9
0
 public void Inserer(T element, int indice)
 {
     if (indice == 0)         // Insérer avant le premier
     {
         if (Premier == null) // Soit que la liste est vide
         {
             Premier = new Chainage <T> {
                 Valeur = element
             }
         }
         ;
         else // Soit que la liste contient au moins un élément
         {
             Chainage <T> temp = Premier;
             Premier = new Chainage <T> {
                 Suivant = temp, Valeur = element
             };
             temp.Precedent = Premier;
         }
     }
     else // insérer à une autre position que le premier
     {
         Chainage <T> elementAIndice = ObtenirElement(indice);
         if (elementAIndice == null) // si pas d'élément à cet indice alors ajouter un élément en dernière position
         {
             Ajouter(element);
         }
         else // si un élément est trouvé à ce position
         { // alors procéder à l'insertion
             Chainage <T> precedent = elementAIndice.Precedent; // celui d'avant
             Chainage <T> temp      = precedent.Suivant; // celui qui sera après
                                                         // ajout du nouveau
             precedent.Suivant = new Chainage <T> {
                 Valeur = element, Precedent = precedent, Suivant = temp
             };
             temp.Precedent = precedent.Suivant;
         }
     }
 }
Esempio n. 10
0
 public void Inserer(T element, int indice)
 {
     if (indice == 0)
     {
         if (Premier == null)
         {
             Premier = new Chainage <T> {
                 Valeur = element
             }
         }
         ;
         else
         {
             Chainage <T> temp = Premier;
             Premier = new Chainage <T> {
                 Suivant = temp, Valeur = element
             };
             temp.Precedent = Premier;
         }
     }
     else
     {
         Chainage <T> elementAIndice = ObtenirElement(indice);
         if (elementAIndice == null)
         {
             Ajouter(element);
         }
         else
         {
             Chainage <T> precedent = elementAIndice.Precedent;
             Chainage <T> temp      = precedent.Suivant;
             precedent.Suivant = new Chainage <T> {
                 Valeur = element, Precedent = precedent, Suivant = temp
             };
             temp.Precedent = precedent.Suivant;
         }
     }
 }
Esempio n. 11
0
 public void Reset()
 {
     courant = null;
 }
Esempio n. 12
0
 public ListeChaineeEnumerator(ListeChainee <T> liste)
 {
     courant      = null;
     listeChainee = liste;
 }