自己解决,希望能帮助到遇到类似问题的朋友,要是有更好的方法和建议告诉我哦. [email protected] 测试数据表是文本. private void button1_Click(object sender, EventArgs e) { OpenFileDialog of = new OpenFileDialog(); if (of.ShowDialog() == DialogResult.OK) { StreamReader sr = new StreamReader(of.FileName, Encoding.Default); string line; int ii = 0; string[] str = new string[99999]; TreeNode[] tn = new TreeNode[99999]; TreeNode ttn = new TreeNode(); TreeNode tnc = new TreeNode("主节点"); while ((line = sr.ReadLine()) != null) {
int i = int.Parse(line.Substring(0, 2)) ; tn[i] = new TreeNode(line.Substring(4,3)); tn[int.Parse(line.Substring(0, 2))] = new TreeNode(line.Substring(4,3)); str[ii] = line; ii=ii+1; } for(int i=0;i<ii;i++) { if (int.Parse(str[i].Substring(2, 2)) == 0) { tnc.Nodes.Add(tn[1]); } else { if (str[i].Substring(2, 2)==str[i].Substring(0, 2)) {} else { tn[int.Parse(str[i].Substring(2, 2))].Nodes.Add(tn[int.Parse(str[i].Substring(0, 2))]); } } }
这个还是递归算法,我要非递归算法
http://blog.csdn.net/bluedog/archive/2005/12/25/561894.aspx
希望大家的问题能够及时的得到解决.
[email protected]
测试数据表是文本. private void button1_Click(object sender, EventArgs e)
{ OpenFileDialog of = new OpenFileDialog();
if (of.ShowDialog() == DialogResult.OK)
{
StreamReader sr = new StreamReader(of.FileName, Encoding.Default);
string line;
int ii = 0;
string[] str = new string[99999];
TreeNode[] tn = new TreeNode[99999];
TreeNode ttn = new TreeNode();
TreeNode tnc = new TreeNode("主节点");
while ((line = sr.ReadLine()) != null)
{
int i = int.Parse(line.Substring(0, 2)) ;
tn[i] = new TreeNode(line.Substring(4,3));
tn[int.Parse(line.Substring(0, 2))] = new TreeNode(line.Substring(4,3));
str[ii] = line;
ii=ii+1;
}
for(int i=0;i<ii;i++)
{
if (int.Parse(str[i].Substring(2, 2)) == 0)
{
tnc.Nodes.Add(tn[1]);
}
else
{
if (str[i].Substring(2, 2)==str[i].Substring(0, 2))
{}
else
{
tn[int.Parse(str[i].Substring(2, 2))].Nodes.Add(tn[int.Parse(str[i].Substring(0, 2))]);
}
}
}