Home
Browsez les 647 exemples
Téléchargez les 647 exemples
Téléchargez des chapitres
Achetez sur amazon.fr
Niveau: Débutant/Intermédiaire
ISBN-2-84177-339-6
50 Euros
|
Exemple 14-42 extrait du chapitre Les mécanismes utilisables dans C#
Exemple 14-41< > Exemple 14-43
Cet exemple peut être compilé avec la ligne de commande: csc.exe /target:exe Exemple_14_42.cs Erreurs: 0 Avertissements: 0 Remarque:
Exemple_14_42.cs
using System.Collections.Generic;
public class Node<T>{
public Node(T item , Node<T> leftNode , Node<T> rightNode){
m_Item = item;
m_LeftNode = leftNode;
m_RightNode = rightNode;
}
public Node<T> m_LeftNode;
public Node<T> m_RightNode;
public T m_Item;
}
public class BinaryTree<T> {
Node<T> m_Root;
public BinaryTree(Node<T> Root){
m_Root = Root;
}
public IEnumerable<T> InOrder {
get{
return PrivateScanInOrder(m_Root);
}
}
private IEnumerable<T> PrivateScanInOrder(Node<T> root) {
if (root.m_LeftNode != null) {
foreach (T item in PrivateScanInOrder(root.m_LeftNode)){
yield return item;
}
}
yield return root.m_Item;
if (root.m_RightNode != null){
foreach (T item in PrivateScanInOrder(root.m_RightNode)){
yield return item;
}
}
}
}
class Program {
static void Main() {
BinaryTree<string> binaryTree = new BinaryTree<string> (
new Node<string>( "A",
new Node<string>( "B" , null , null ),
new Node<string>( "C" ,
new Node<string>( "D" , null , null ),
new Node<string>( "E" , null , null ) ) ) );
foreach (string s in binaryTree.InOrder)
System.Console.WriteLine(s);
}
}
Copyright Patrick Smacchia 2006 2007
|