使用C#非递归实现查找树节点
2007-12-26 10:30
411 查看
/// <summary>
/// 作者:GENGWEI
/// </summary>
/// <summary>
/// 非递归查找树节点
/// </summary>
/// <param name="t"></param>
/// <param name="s"></param>
/// <returns></returns>
static TNode FindNode(TNode t,string s)
{
if (t == null)
{
return null;
}
else
{
Queue<TNode> st = new Queue<TNode>();
st.Enqueue(t);
TNode p;
while (st.Count > 0)
{
p = st.Dequeue();
if (p.Data == s)
{
return p;
}
else
{
if (p.left != null)
{
st.Enqueue(p.left);
}
if (p.right != null)
{
st.Enqueue(p.right);
}
}
}
}
return null;
}
/// 作者:GENGWEI
/// </summary>
/// <summary>
/// 非递归查找树节点
/// </summary>
/// <param name="t"></param>
/// <param name="s"></param>
/// <returns></returns>
static TNode FindNode(TNode t,string s)
{
if (t == null)
{
return null;
}
else
{
Queue<TNode> st = new Queue<TNode>();
st.Enqueue(t);
TNode p;
while (st.Count > 0)
{
p = st.Dequeue();
if (p.Data == s)
{
return p;
}
else
{
if (p.left != null)
{
st.Enqueue(p.left);
}
if (p.right != null)
{
st.Enqueue(p.right);
}
}
}
}
return null;
}
相关文章推荐
- C# 递归查找树状目录实现方法
- c++实现二叉树的查找,插入,删除,深度,叶子节点数,度为1的节点数(递归方法)及运行实例结果
- c++实现二叉树的查找,插入,删除,深度,叶子节点数,度为1的节点数(递归方法)及运行实例结果
- 如何C#中实现在TreeView查找某一节点
- 二叉查找树带父节点指针的创建,销毁,查找,删除,插入,找前驱后继,找最小值最大值(递归和非递归的实现)
- 使用c语言指针和递归方法实现二分查找
- (二)C#使用DsoFramer操作Excel实现查找、替换的功能
- 二叉树的创建,遍历,查找,查找父节点,深度,大小等的递归实现
- 如何在C#中实现treeview查找某一节点
- 如何C#中实现在TreeView查找某一节点(转)
- 如何C#中实现在TreeView查找某一节点
- c++实现二叉树的查找,插入,删除,深度,叶子节点数,度为1的节点数(递归方法)及运行实例结果
- c++实现二叉树的查找,插入,删除,深度,叶子节点数,度为1的节点数(递归方法)及运行实例结果
- 非递归层次遍历方法实现二叉树中指定节点的层次数查找
- c++实现二叉树的查找,插入,删除,深度,叶子节点数,度为1的节点数(递归方法)及运行实例结果
- c++实现二叉树的查找,插入,删除,深度,叶子节点数,度为1的节点数(递归方法)及运行实例结果
- 如何C#中实现在TreeView查找某一节点(两种方法)
- 如何C#中实现在TreeView查找某一节点
- c++实现二叉树的查找,插入,删除,深度,叶子节点数,度为1的节点数(递归方法)及运行实例结果
- C#实现快速查找(递归,非递归)