簡単でいいので書き方がわからないのでフローチャート書いたりしてわかりやすくお願いします import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class tree { char label; private tree left; private tree right; public tree(char a){ label=a; } public void setL(tree v){ left=v; } public void setR(tree v){ right=v; } static public void front(tree n){ System.out.print(n.label+" "); if(n.left!=null) front(n.left); if(n.right!=null) front(n.right); } static public void between(tree n){ if(n.left!=null) between(n.left); System.out.print(n.label+" "); if(n.right!=null) between(n.right); } static public void back(tree n){ if(n.left!=null) back(n.left); if(n.right!=null) back(n.right); System.out.print(n.label+" "); } /** * @param args */ public static void main(String[] args)throws IOException { // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); char L00 = 'a'; int i=0; char[] al=new char[26]; for (int L01 = 0; L01 <= ('z' - 'a'); L01++) { al[i]+= L00++; i++; } tree n0=new tree('a');tree n1=new tree('b');tree n2=new tree('c'); tree n3=new tree('d');tree n4=new tree('e');tree n5=new tree('f'); tree n6=new tree('g');tree n7=new tree('h');tree n8=new tree('i'); tree n9=new tree('j');tree n10=new tree('k');tree n11=new tree('l'); tree n12=new tree('m');tree n13=new tree('n');tree n14=new tree('o'); tree n15=new tree('p');tree n16=new tree('q');tree n17=new tree('r'); tree n18=new tree('s');tree n19=new tree('t');tree n20=new tree('u'); tree n21=new tree('v');tree n22=new tree('w');tree n23=new tree('x'); tree n24=new tree('y');tree n25=new tree('z'); n0.setL(n1);n0.setR(n2); n1.setL(n3);n1.setR(n4); n2.setL(n5);n2.setR(n6); n3.setL(n7);n3.setR(n8); n4.setL(n9);n4.setR(n10); n5.setL(n11);n5.setR(n12); n6.setL(n13);n6.setR(n14); n7.setL(n15);n7.setR(n16); n8.setL(n17);n8.setR(n18); n9.setL(n19);n9.setR(n20); n10.setL(n21);n10.setR(n22); n11.setL(n23);n11.setR(n24); n12.setL(n25); do{ System.out.println("メニュー\n1:前順走査 2:間順走査 3:後順走査 4:終了"); String str = br.readLine(); int n = Integer.parseInt(str); if(n==1){ System.out.print("前順走査\n"); front(n0); System.out.println(); } else if(n==2){ System.out.print("間順走査\n"); between(n0); System.out.println(); } else if(n==3){ System.out.print("後順走査\n"); back(n0); System.out.println(); } else if(n==4){ System.out.print("終了"); break; } }while(true); } }
↧