muin_119

tree

Sep 20th, 2020
696
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace ChildParentTree
  5. {
  6.     struct AAA
  7.     {
  8.         public string name;
  9.         public int id;
  10.         public int parent_id;
  11.  
  12.         public AAA(string name, int id, int parent_id)
  13.         {
  14.             this.name = name;
  15.             this.id = id;
  16.             this.parent_id = parent_id;
  17.         }
  18.  
  19.     }
  20.  
  21.     class HTree
  22.     {
  23.         public AAA data;
  24.         public HTree left;
  25.         public HTree right;
  26.  
  27.         public HTree(AAA data)
  28.         {
  29.             this.data = data;
  30.             this.left = null;
  31.             this.right = null;
  32.         }
  33.  
  34.     }
  35.  
  36.     class Program
  37.     {
  38.         HTree insertNode(AAA data)
  39.         {
  40.             HTree node = new HTree(data);
  41.  
  42.             return node;
  43.         }
  44.  
  45.         HTree insertNode(AAA data, HTree root)
  46.         {
  47.             HTree childNode = new HTree(data);
  48.  
  49.             if(root.left == null)
  50.             {
  51.                 root.left = childNode;
  52.             }else if(root.right == null)
  53.             {
  54.                 root.right = childNode;
  55.             }
  56.  
  57.             return childNode;
  58.         }
  59.  
  60.         static void Main(string[] args)
  61.         {
  62.  
  63.             List<AAA> aAAs = new List<AAA>();
  64.  
  65.             aAAs.Add(new AAA("Muin", 1, -1));
  66.             aAAs.Add(new AAA("Asif", 2, 1));
  67.             aAAs.Add(new AAA("Akash", 3, -1));
  68.  
  69.             //create adjacency list
  70.  
  71.             List<Dictionary<AAA, List<AAA>>> adjList = new List<Dictionary<AAA, List<AAA>>>();
  72.  
  73.             foreach(AAA data in aAAs)
  74.             {
  75.                 if(data.parent_id == -1)
  76.                 {
  77.                     Dictionary<AAA, List<AAA>> temp = new Dictionary<AAA, List<AAA>>();
  78.                     temp.Add(data, new List<AAA>());
  79.                     adjList.Add(temp);
  80.                 }
  81.                 else
  82.                 {
  83.  
  84.                 }
  85.             }
  86.         }
  87.     }
  88. }
  89.  
RAW Paste Data