목차
1. 문제기술
2. 입출력의 예
3. 문제풀이방법
4. 소스프로그램
5. 수행의 예
2. 입출력의 예
3. 문제풀이방법
4. 소스프로그램
5. 수행의 예
본문내용
f (s->data > key){
t=&s->left_Child;
s=s->left_Child;
}
else {
t = &s->right_Child;
s = s->right_Child;
}
if (s == NULL)
printf("error\n");
else {
if (s->left_Child == NULL)
*t = s->right_Child;
else {
*t = s->left_Child;
for (temp=s->left_Child; temp->right_Child; temp=temp->right_Child);
temp->right_Child = s->right_Child;
}
free(s);
}
}
void preorder(NODE *ptr) //preorder로 tree를 출력하는 함수
{
if(ptr){
printf("%d ",ptr->data);
preorder(ptr->left_Child);
preorder(ptr->right_Child);
}
}
void inorder(NODE *ptr) //inorder로 tree를 출력하는 함수
{
if(ptr){
inorder(ptr->left_Child);
printf("%d ",ptr->data);
inorder(ptr->right_Child);
}
}
int main() //메인함수
{
int select_num;
pointer = NULL; //일단 pointer는 NULL로 초기화
while (1) {
select_num=menu();
switch(select_num) {
case 1 : insert(); break;
case 2 : del(); break;
case 3 : printf("*****************************************\n");
printf("* Preorder ---> "); preorder(pointer); printf(" *\n");
printf("* Inorder ---> "); inorder(pointer); printf(" *\n");
printf("*****************************************\n"); break;
default: exit(1);
}
}
}
5. 수행의 예
①
-> 15 8 27 26 42 10 7 21 을 차례로 삽입시킨 후 출력한다.
이렇게 만들어진 tree에 12를 삽입, 10을 제거, 27을 제거를 차례로 수행시킨다.
완성된 tree를 출력한다.
프로그램을 종료시킨다.
②
-> 21 7 10 42 26 27 8 15 을 차례로 삽입시킨 후 출력한다.
이렇게 만들어진 tree에 12를 삽입, 10을 제거, 27을 제거를 차례로 수행시킨다.
완성된 tree를 출력한다.
프로그램을 종료시킨다.
③
-> 2 49 35 8 을 차례로 삽입시킨 후 출력한다.
이렇게 만들어진 tree에 3을 삽입, 49를 제거, 2를 제거를 차례로 수행시킨다.
완성된 tree를 출력한다.
프로그램을 종료시킨다.
t=&s->left_Child;
s=s->left_Child;
}
else {
t = &s->right_Child;
s = s->right_Child;
}
if (s == NULL)
printf("error\n");
else {
if (s->left_Child == NULL)
*t = s->right_Child;
else {
*t = s->left_Child;
for (temp=s->left_Child; temp->right_Child; temp=temp->right_Child);
temp->right_Child = s->right_Child;
}
free(s);
}
}
void preorder(NODE *ptr) //preorder로 tree를 출력하는 함수
{
if(ptr){
printf("%d ",ptr->data);
preorder(ptr->left_Child);
preorder(ptr->right_Child);
}
}
void inorder(NODE *ptr) //inorder로 tree를 출력하는 함수
{
if(ptr){
inorder(ptr->left_Child);
printf("%d ",ptr->data);
inorder(ptr->right_Child);
}
}
int main() //메인함수
{
int select_num;
pointer = NULL; //일단 pointer는 NULL로 초기화
while (1) {
select_num=menu();
switch(select_num) {
case 1 : insert(); break;
case 2 : del(); break;
case 3 : printf("*****************************************\n");
printf("* Preorder ---> "); preorder(pointer); printf(" *\n");
printf("* Inorder ---> "); inorder(pointer); printf(" *\n");
printf("*****************************************\n"); break;
default: exit(1);
}
}
}
5. 수행의 예
①
-> 15 8 27 26 42 10 7 21 을 차례로 삽입시킨 후 출력한다.
이렇게 만들어진 tree에 12를 삽입, 10을 제거, 27을 제거를 차례로 수행시킨다.
완성된 tree를 출력한다.
프로그램을 종료시킨다.
②
-> 21 7 10 42 26 27 8 15 을 차례로 삽입시킨 후 출력한다.
이렇게 만들어진 tree에 12를 삽입, 10을 제거, 27을 제거를 차례로 수행시킨다.
완성된 tree를 출력한다.
프로그램을 종료시킨다.
③
-> 2 49 35 8 을 차례로 삽입시킨 후 출력한다.
이렇게 만들어진 tree에 3을 삽입, 49를 제거, 2를 제거를 차례로 수행시킨다.
완성된 tree를 출력한다.
프로그램을 종료시킨다.
추천자료
데이터베이스 테이블 설계
중위표기식을 후위표기식으로 변환
ASP 쇼핑몰 - 보안모듈 5가지를 적용한 쇼핑몰 홈페이지
[그리스][정치][정부형태][미의 기준][철학][과학]그리스의 정치, 정부형태, 미의 기준, 철학...
문자열편집 알고리즘(퇴각검색)
[자음동화] 자음동화에 대해서
유전자변형작물의현황및고찰[GMO
[C로 쓴 자료구조론]프로그램3.8 미로탐색함수
임_상_실_습_일_지7근관와동형성, 발수
[수학교육과정][교과서]수학교육과정의 특성, 수학교육과정의 기본 방향, 수학교과서의 편찬 ...
[성폭행][강간][성폭력][성관계][성폭행 치료방법]성폭행(강간)의 의미, 성폭행(강간)의 형태...
c로 만든 공학용계산기 (scientificcalculator.c)
성폭력 피해자에 대한 사회복지실천 전략