본문내용
tem일 경우
{
System.out.print(tree[t].Ldata+"\n");
return tree[t].Ldata;
}
}
// pre : root에서 한 Item을 갖는 한트리를 취함
// post : root에서 Data Item 반환
public int first()
{
if ((t == NIL) || (tree[t].Rdata ==0)) // 비어있거나 root에서 한개의Item일 경우
{
System.out.print("error\n");
return -1;
}
else // root에서 두개의 Item일경우
{
System.out.print(tree[t].Ldata+"\n");
return tree[t].Ldata; // root에서 첫번째 Item 반환
}
}
// pre : 에서 두개의 Item을 갖는 한트리를 취함
// post : root에서 두번째 Item 반환
public int second()
{
if ((t == NIL) || (tree[t].Rdata ==0)) // 빈트리이거나 root에서 하나의 Item만 있는경우
{
System.out.print("error\n");
return -1;
}
else // two items at its root
{
System.out.print(tree[t].Rdata+"\n");
return tree[t].Rdata; // root에서 첫번째 Item 반환
}
}
// returns the left subtree
public void left()
{
if (t == NIL) // 빈트리이면 에러출력
System.out.print("error\n");
else
System.out.print(print(0,tree[t].left)); // 왼쪽 서브트리를 보여줌
}
// 오른쪽 서브트리 반환
public void right()
{
if (t == NIL) // e빈트리이면 error출력
System.out.print("error\n");
else if (tree[t].Rdata ==0) // 만일 부모에서 하나의 아이템이라면 중간트리는 오른쪽 트리다.
System.out.print(print(0,tree[t].middle)); // 오른쪽 서브와 상등하는 서브트리 display
else
System.out.print(print(0,tree[t].right)); // 오른쪽 서브트리 display
}
// returns the middle subtree
public void middle()
{
if (t == NIL || tree[t].Rdata == 0) // 비어있거나 1아이템노드이면 오류제공
System.out.print("error\n");
else
System.out.print(print(0,tree[t].middle)); // 중간 서브트리 display
}
// 1이나 2반환
public int numvals()
{
if (t == NIL) // 빈트리
{
System.out.print("error\n");
return -1;
}
else if (tree[t].Rdata == 0) // 1이면 1리턴
{
System.out.print(1+"\n");
return 1;
}
else // root에서 2개의 아이템이면 2를 리턴
{
System.out.print(2+"\n");
return 2;
}
}
public static void main (String args[]) throws Exception
{
TwoThreetree tree = new TwoThreetree(20);
System.out.println("이 트리는 20개까지만 저장 가능합니다.");
System.out.println("");
// BufferedReader d = new BufferedReader(new InputStreamReader(System.in));
// BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String str="";
String in_data="";
int count=0;
while(true)
{
System.out.println(" 입력은 [i ], 삭제는 [d], 트리보기는 [p], 종료는 [q] \n");
BufferedReader d = new BufferedReader(new InputStreamReader(System.in));
str = d.readLine();
if(str == "i")
{
System.out.println("트리에 삽입할 데이타(int)를 입력하세요.");
BufferedReader r1 = new BufferedReader(new InputStreamReader
(System.in));
in_data=r1.readLine();
if(tree.Insert23(Integer.parseInt(in_data)))
{
System.out.println("성공적으로 입력되었습니다.");
count++;
}
}
else if(str=="d")
{
System.out.println("트리에 삽입할 데이타(int)를 입력하세요.");
BufferedReader r2 = new BufferedReader(new InputStreamReader
(System.in));
in_data=r2.readLine();
if(tree.Delete23(Integer.parseInt(in_data)))
{
System.out.println("성공적으로 삭제 되었습니다.");
count--;
}
}
else if(str=="p")
{
System.out.println(tree.print(count, 0));
}
else if(str=="q")
{
System.out.println("Bye~Bye~!! ");
break;
}
}
}
}
class node23 {
int Ldata, Rdata;
int right, middle, left;
}
{
System.out.print(tree[t].Ldata+"\n");
return tree[t].Ldata;
}
}
// pre : root에서 한 Item을 갖는 한트리를 취함
// post : root에서 Data Item 반환
public int first()
{
if ((t == NIL) || (tree[t].Rdata ==0)) // 비어있거나 root에서 한개의Item일 경우
{
System.out.print("error\n");
return -1;
}
else // root에서 두개의 Item일경우
{
System.out.print(tree[t].Ldata+"\n");
return tree[t].Ldata; // root에서 첫번째 Item 반환
}
}
// pre : 에서 두개의 Item을 갖는 한트리를 취함
// post : root에서 두번째 Item 반환
public int second()
{
if ((t == NIL) || (tree[t].Rdata ==0)) // 빈트리이거나 root에서 하나의 Item만 있는경우
{
System.out.print("error\n");
return -1;
}
else // two items at its root
{
System.out.print(tree[t].Rdata+"\n");
return tree[t].Rdata; // root에서 첫번째 Item 반환
}
}
// returns the left subtree
public void left()
{
if (t == NIL) // 빈트리이면 에러출력
System.out.print("error\n");
else
System.out.print(print(0,tree[t].left)); // 왼쪽 서브트리를 보여줌
}
// 오른쪽 서브트리 반환
public void right()
{
if (t == NIL) // e빈트리이면 error출력
System.out.print("error\n");
else if (tree[t].Rdata ==0) // 만일 부모에서 하나의 아이템이라면 중간트리는 오른쪽 트리다.
System.out.print(print(0,tree[t].middle)); // 오른쪽 서브와 상등하는 서브트리 display
else
System.out.print(print(0,tree[t].right)); // 오른쪽 서브트리 display
}
// returns the middle subtree
public void middle()
{
if (t == NIL || tree[t].Rdata == 0) // 비어있거나 1아이템노드이면 오류제공
System.out.print("error\n");
else
System.out.print(print(0,tree[t].middle)); // 중간 서브트리 display
}
// 1이나 2반환
public int numvals()
{
if (t == NIL) // 빈트리
{
System.out.print("error\n");
return -1;
}
else if (tree[t].Rdata == 0) // 1이면 1리턴
{
System.out.print(1+"\n");
return 1;
}
else // root에서 2개의 아이템이면 2를 리턴
{
System.out.print(2+"\n");
return 2;
}
}
public static void main (String args[]) throws Exception
{
TwoThreetree tree = new TwoThreetree(20);
System.out.println("이 트리는 20개까지만 저장 가능합니다.");
System.out.println("");
// BufferedReader d = new BufferedReader(new InputStreamReader(System.in));
// BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String str="";
String in_data="";
int count=0;
while(true)
{
System.out.println(" 입력은 [i ], 삭제는 [d], 트리보기는 [p], 종료는 [q] \n");
BufferedReader d = new BufferedReader(new InputStreamReader(System.in));
str = d.readLine();
if(str == "i")
{
System.out.println("트리에 삽입할 데이타(int)를 입력하세요.");
BufferedReader r1 = new BufferedReader(new InputStreamReader
(System.in));
in_data=r1.readLine();
if(tree.Insert23(Integer.parseInt(in_data)))
{
System.out.println("성공적으로 입력되었습니다.");
count++;
}
}
else if(str=="d")
{
System.out.println("트리에 삽입할 데이타(int)를 입력하세요.");
BufferedReader r2 = new BufferedReader(new InputStreamReader
(System.in));
in_data=r2.readLine();
if(tree.Delete23(Integer.parseInt(in_data)))
{
System.out.println("성공적으로 삭제 되었습니다.");
count--;
}
}
else if(str=="p")
{
System.out.println(tree.print(count, 0));
}
else if(str=="q")
{
System.out.println("Bye~Bye~!! ");
break;
}
}
}
}
class node23 {
int Ldata, Rdata;
int right, middle, left;
}
추천자료
- 허프만 트리 만들기(압축,c++프로그램밍)
- DFT / FFT C언어 소스 및 소스 분석 및 결과분석
- [프로젝트][컴퓨터학과 프로젝트] 오델로 게임 완결편 !!!(소스 포함)
- 마이크로프로세서 프로그램 소스 정리
- 컴퓨터그래픽스 베지어(Bezier) 곡선 레포트(자바 소스 포함)
- [C++] 여행사 운영프로그램 보고서(소스와 프로그램사진포함)
- c언어 버블정렬, 퀵정렬 코드입니다
- C언어를 이용한 환형큐 (Circular Queue) 소스파일
- [C언어] 구조체를 이용한 세븐포커 프로그램 소스
- S-DES 알고리즘 분석 및 코드
- c++-재고관리프로그램소스
- [JAVA] 사다리게임(Ladder) 프로그램 [소스 & HWP 레포트]
- Template Match(템플릿매칭) 소개 및 Source(소스)
- C 코드를 이용한 전화번호부. C언어 이용.
소개글