public IEnumerator <T> GetEnumerator() { Chainage <T> courant = Premier; while (courant != null) { yield return(courant.Valeur); courant = courant.Suivant; } }
public bool MoveNext() { if (courant == null) { courant = listeChainee.Premier; } else { courant = courant.Suivant; } return(courant != null); }
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); }
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); }
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 }; } }
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); }
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); }
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 } }
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; } } }
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; } } }
public void Reset() { courant = null; }
public ListeChaineeEnumerator(ListeChainee <T> liste) { courant = null; listeChainee = liste; }