二叉树的遍历是指按某条搜索路径周游二叉树,对树中每个结点访问一次且仅访问一次。其中序遍历操作步骤为:
若二叉树为空树,则空操作;否则先中根遍历左子树,再访问根结点,最后中根遍历右子树。
由于二叉树是一种递归定义,所以,要根据二叉树的某种遍历序列来实现建立一棵二叉树的二叉链表存储结构,则可以模仿对二叉树遍历的方法来加以实现。如:如果输入的是一棵二叉树的标明了空子树的完整先根遍历序列,则可利用先根遍历方法先生成根结点,再用递归函数调用来实现左子树和右子树的建立。所谓标明了空子树的完整先根遍历序列就是在先序遍历序列中加入空子树信息。
import java.io.*;
/**
*
* @author Labuser
*/
public class Chap3_1 {
public static void conversion(int N,int r){
sequenceStack<Integer> s=new sequenceStack<Integer>();
while(N!=0){
s.push(N%r);
N=N/r;
}
System.out.println("转换结果为:");
while(!s.isEmpty()){
System.out.println(s.pop());
}
}
public static void main(String[]args){
BufferedReader br;
Integer num,radix;
try{
br=new BufferedReader(new InputStreamReader(System.in));
System.out.print("输入一个十进制整数");
num=Integer.parseInt(br.readLine());
System.out.println("转换进制");
radix=Integer.parseInt(br.readLine());
conversion(num,radix);
}catch(IOException e){
e.printStackTrace();
}
}
}