• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

C#1,3,5,7排列组合(3位)非递归

c# 搞代码 4年前 (2022-01-09) 15次浏览 已收录 0个评论

//深度优先
类节目
{
静态无效的主要(字串[] args)
{
INT []号= INT新[] {1,3,5,7};
列表数据=新名单();
堆栈的OpenStack =新的堆栈();
树根=新树();
树父=根;
而(真)
{

如果(parent.GetDeep()== 4)
{
parent.printf();

}
其他
{
VAR tempSon = number.ToList();
的foreach(在tempSon VAR项)
{
)树节点=新树(;
Node.NodeData =项目;
Node.Parent =父母;
openStack.Push(节点);
}
}
如果(openStack.Count == 0)[颜色= darkred] [/ COLOR]
突破;
变种的ItemData = openStack.Pop();
父=的ItemData;

}
System.Console.Read();

}
公共静态无效的printf(列表数据)
{
串D ="英寸;
data.ForEach(p值= D 1和D = D + P);
的System.Console.WriteLine(D);
}
}
类树
{
公共树父;
公众诠释NODEDATA;
公开名单的儿子=新名单();
公众诠释GetDeep()
{
INT I = 0;
VAR P =这一点;
而(真)
{
如果(P == NULL)
{
回报我;
}
否则
{

本文来源gao!%daima.com搞$代*!码9网(

P = p.Parent;
我++;

}

}

}
公共无效的printf()
{
字符串PF ="英寸;
VAR P =这一点;
而(真)
{
如果(P == NULL)
{
的System.Console.WriteLine(PF);
返回;
}
否则
{
如果(p.NodeData!= 0)
{
PF = p.NodeData + PF;
}
P = p.Parent;
}
}

}
}
//广度优先
类节目
{
静态无效的主要(字串[] args)
{
INT []号= INT新[] {1,3};
名单<int>的数据=新的List <int>的();
堆栈<树>的OpenStack =新的堆栈<树>();
队列<树> openQueue =新队列<树>();

树根=新树();
树父=根;
而(真)
{

如果(parent.GetDeep()== 4)
{
parent.printf();

}
其他
{
VAR tempSon = number.ToList();
的foreach(在tempSon VAR项)
{
)树节点=新树(;
Node.NodeData =项目;
Node.Parent =父母;
// openStack.Push(节点);
openQueue.Enqueue(节点);
}
}
如果(openQueue.Count == 0)//如果(openStack.Count == 0)
打破;
变种的ItemData = openQueue.Dequeue(); //openStack.Pop();
父=的ItemData;

}
System.Console.Read();

}

公共静态无效的printf(名单<int>的数据)
{
串D =“”;
data.ForEach(P => D = D + P);
的System.Console.WriteLine(D);
}

}
类树
{
公共树父;
公众诠释NODEDATA;
公开名单<树>儿子=新的List <树>();
公众诠释GetDeep()
{
INT I = 0;
VAR P =这一点;
而(真)
{
如果(P == NULL)
{
回报我;
}
否则
{
P = p.Parent;
我++;

}

}

}
公共无效的printf()
{
字符串PF =“”;
VAR P =这一点;
而(真)
{
如果(P == NULL)
{
的System.Console.WriteLine(PF);
返回;
}
否则
{
如果(p.NodeData!= 0)
{
PF = p.NodeData + PF;
}
P = p.Parent;
}

}

}
}


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C#1,3,5,7排列组合(3位)非递归

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址