上班了,太忙了,标题一天一算法也去了,实在没那个时间和精力,但是算法和数据结构一定要学下去,这次说下C#实现的树形结构。树的遍历使用的先序遍历,两个类,一个是节点结构,一个是管理节点的树。采用链式存储。直接上代码。
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
/// <summary>
/// 文件夹树目录的节点基类,这应该写成接口的,类似树节点已经集成其他基类的结构可以实现这个接口,便于ListTree类对节点实现多态
/// </summary>
public class ListTreeNode <T> {
public ListTreeNode <T> parent; //父节点
public List<ListTreeNode <T>> children; //子节点集合
public T data; //存放信息
public ListTreeNode () {
}
public ListTreeNode (T data) {
this.data = data;
this.children = new List<ListTreeNode<T>>();
}
public ListTreeNode (T data, List <ListTreeNode <T>>