zoukankan      html  css  js  c++  java
  • 检索树算法

    树结构例如以下所看到的:


    要求:需依照属性检索出当中一个树节点并返回值。

    思路:

            List<IntPtr> ptrList = new List<IntPtr>();
            IntPtr getEidtPtr(IntPtr fatherPtr)
            {
                if(fathrPtr 中包括目标子节点)
                        return editPtr;
                    else
                    {
                        if (假设节点存在下一级节点)
                        {
                            ptrList.Add(nextPtr);
                            return getEidtPtr(nextPtr);
                        }
                        else
                        {
                            ptrList.Remove(fatherPtr);
                            if (假设fatherPtr存在同级节点)
                            {
                                ptrList.Add(standPtr);
                                return getEidtPtr(standPtr);
                            }
                            else
                            {
                                if (ptrList.Count == 0)
                                    return IntPtr.Zero;
                                else
                                {
                                    IntPtr f = getUpPtr();
                                    return  getEidtPtr(f);
                                }
                            }
                        }
                    }
               
            }


            IntPtr getUpPtr()
            {
                IntPtr fatherPtr1 = ptrList[ptrList.Count - 1];
                ptrList.Remove(fatherPtr1);
                IntPtr stand =得到fatherPtr1的同级节点;
                if (stand != IntPtr.Zero)
                    return stand;
                else
                    return  getUpPtr();
            }
  • 相关阅读:
    linux ss 网络状态工具
    如何安装最新版本的memcached
    如何通过XShell传输文件
    mysql主从复制原理
    聊聊IO多路复用之select、poll、epoll详解
    聊聊 Linux 中的五种 IO 模型
    pytorch中使用cuda扩展
    pytorch中调用C进行扩展
    双线性插值
    python中的装饰器
  • 原文地址:https://www.cnblogs.com/jhcelue/p/7356047.html
Copyright © 2011-2022 走看看