// public static void Insert(TreeNode root, char c) public static void Insert(TreeNode root, Ehdokas c) { TreeNode daddy = null; while (root != null) { daddy = root; int ret = c.Sukunimi.CompareTo(root._ehdokas.Sukunimi); //if (c < root.Data) if (ret < 0) //ret < 0 if (c < root._ehdokas) { // mennään vasemmalle root = root.Left; } else { root = root.Right; } } TreeNode newNode = new TreeNode(c); int ret1 = c.Sukunimi.CompareTo(daddy._ehdokas.Sukunimi); //if (c < daddy.Data) if (ret1 < 0) //if (c. < daddy._ehdokas) { daddy.Left = newNode; } else { daddy.Right = newNode; } }
// public static TreeNode Find(TreeNode t, char c) public static TreeNode Find(TreeNode t, Ehdokas c) { TreeNode node = null; while (t != null) { //if (c == t.Data) int ret = c.Sukunimi.CompareTo(t._ehdokas.Sukunimi); if (ret == 0)//if (c.Sukunimi == t._ehdokas.Sukunimi) { //if Surnames are same, need to check names // int ret_name = c.Etunimi.CompareTo(t._ehdokas.Etunimi); // if (ret_name == 0) // { // node = t; // break; // else if (ret_name < 0) //to be continued // // { // t = t.Left; // } // else // { // t = t.Right; // } // return node; // } node = t; break; } //else if (c < t.Data) // else if (ret < 0) //CHECK IF IT <0 or >o { t = t.Left; } else { t = t.Right; } } return(node); }
public TreeNode(Ehdokas z) //NEW 29.11 { this._ehdokas = z; }
static void Main(string[] args) { Console.WriteLine("test_29.11.2019"); // lista ehdokkaista List <Ehdokas> ehdokkaat = new List <Ehdokas>(); // luetaan tiedosto https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/file-system/how-to-read-a-text-file-one-line-at-a-time int counter = 0; string line; // Read the file and display it line by line. StreamReader file = new StreamReader(@"c:\temp\ehdokkaat.txt"); // new StreamReader(@"C:\Users\Käyttäjä\Desktop\SEAMK\Tietorakeneet2019\ehdokkaat.txt"); while ((line = file.ReadLine()) != null) { // Alpo Kitinoja KOK 223 string[] osat = line.Split(); string en = osat[0]; string sn = osat[1]; string puolue = osat[2]; int aanimaara = int.Parse(osat[3]); // tehdään olio Ehdokas e = new Ehdokas(en, sn, puolue, aanimaara); // lisätään olio listaan ehdokkaat.Add(e); //Console.WriteLine(osat[0] + " " + osat[1]); counter++; } file.Close(); // järjestetään lista //Basic sort by surname and name //ehdokkaat.Sort(); //ehdokkaat.Sort(VertailuAaniMaaranMukaan.AanienMukaan()); // käydään lista läpi /* * * PRINTING * foreach (var ehdokas in ehdokkaat) * { * Console.WriteLine(ehdokas.Sukunimi); * } * Console.ReadLine(); */ //TREE //creating new tree Ehdokas juuri1 = ehdokkaat[0]; TreeNode juuri = new TreeNode(juuri1); for (int i = 1; i < ehdokkaat.Count; i++) //starting from 2 juuri.count [0] { //Tree.Insert(juuri, ehdokkaat[i]); Tree.Insert(juuri, ehdokkaat[i]); } Tree.traverse_inorder(juuri); Console.WriteLine(); Console.WriteLine("TEST"); Console.WriteLine(); TreeNode h = Tree.Find(juuri, ehdokkaat[3]); //TreeNode h = Tree.Find(juuri, 'h'); what to use instead of 'h' Console.WriteLine(h.ToString()); Console.ReadLine(); }