递归实现树的三种遍历(先序,中序,后序)
代码实现:
public class Demo09
{
public static void preOrder(int[] arr,int i)
{
if (i>=arr.length)
return;
System.out.print(arr[i]+" ");
preOrder(arr, i*2+1);
preOrder(arr, i*2+2);
}
public static void inOrder(int[] arr,int i)
{
if(i>=arr.length)
return;
inOrder(arr, i*2+1);
System.out.print(arr[i]+" ");
inOrder(arr, i*2+2);
}
public static void postOrder(int[] arr,int i)
{
if(i>=arr.length)
return;
postOrder(arr, i*2+1);
postOrder(arr, i*2+2);
System.out.print(arr[i]+" ");
}
public static void main(String[] args)
{
int[] arr = {1,2,3,4,5,6,7};
System.out.println("先序遍历结果如下");
preOrder(arr, 0);
System.out.println();
System.out.println("中序遍历结果如下");
inOrder(arr, 0);
System.out.println();
System.out.println("后序遍历结果如下");
postOrder(arr, 0);
}
}