2017-08-27 210 views
0
static void InOrderView(TreeNode myTree) 
    { 
     Console.WriteLine("{0,-20}{1,-8}{2,-8}{3,-8}{4,-8}", "v1", "v2", "v3", "v4", "v5"); 
     if (myTree != null) 
     { 
      InOrderView(myTree.Left); 
      Console.WriteLine("{0,-20}{1,-8}{2,-8}{3,-8}{4,-8}", myTree.v1, myTree.v2, myTree.v3.ToString(), Convert.ToInt32(v4.IFLAG), Convert.ToInt32(myTree.v5)); 
      InOrderView(myTree.Right); 
     } 
    } 

我創建了一個二叉搜索樹,並且希望對其進行修改,以便可以將輸出限制爲控制檯。即我想一次打印出約18個節點,並提示用戶按Enter鍵繼續。我的嘗試包括將一個整數計數器傳入InOrderView(Tree,int),但我似乎無法找到成功完成此操作的邏輯。任何建議將是有益的,謝謝!控制檯應用程序:打印到控制檯溢出

回答

0
static void InOrderView(TreeNode myTree, ref List<TreeNode> myList) 
    { 

     if (myTree != null) 
     { 
      InOrderView(myTree.Left,ref myList); 
      myList.Add(myTree); 
      InOrderView(myTree.Right,ref myList); 
     } 

} 

除了打印的InOrderView內,我決定樹裝入從列表中選擇列表,只是輸出的...這似乎工作,但如果有人能找到一個更優雅的解決方案,我將不勝感激。謝謝