이진탐색트리 질문입니다.
제나
이진탐색트리에 10개의 숫자를 차례대로 삽입하여 중위순회로 숫자를 순서대로 출력하는 프로그램을 작성하라고 해서 이렇게 짜봤는데 생각보다 많이 어렵네요 ㅠㅠ 이거 어디를 수정해야하는지 모르겠습니다.
수정부분좀 알려주세요 ㅠㅠ
이상하게짰찌만 너그럽게 이해해주시고용 ;;;알고리즘은 너무어려워 ㅠㅠ
#includestdio.h
#includestdlib.h
?xml:namespace prefix = o ns = urn:schemas-microsoft-com:office:office /
struct tree {
int info;
struct tree *left;
struct tree *right;
};
typedef struct tree TREE;
typedef struct tree* PTREE;
PTREE HEAD = NULL;
void MAINSCREEN();
void INSERTBTD(int value);
void INSERT_DATE();
void PRINTSCREEN();
void main(){
int main_value;
do{
MAINSCREEN();
scanf( %d, &main_value );
switch(main_value){
case 1:
INSERT_DATE();
break;
case 2:
PRINTSCREEN(HEAD);
break;
case 3:
printf(프로그램을 종료하겠습니다.);
break;
}
}while( main_value != 3 );
}
void MAINSCREEN(){
printf(=====================\n);
printf(1. 삽입하시겠습니까?\n);
printf(2. 중위순회로출력하기\n);
printf(=====================\n);
printf(1 or 2 (종료 3) :);
}
void INSERT_DATE(){
int for_i, value;
for( for_i = 0; for_i = 10; for_i++){
printf(%d번째 값을 입력하세요 : , for_i+1);
scanf(%d, &value)p;value);
INSERTBTD(value);
}
return;
}
void INSERTBTD(int value){
PTREE temp;
while( temp != NULL ){
if( value == temp-info ){
printf(동일한 데이터가 있습니다.);
return;
}
else if( value temp-info ) temp = temp - left;
else if( value temp-info ) temp = temp - right;
}
temp = (PTREE) malloc ( sizeof(TREE) );
temp - info = value;
temp-left = NULL;
temp-right = NULL;
printf(%d , temp - info);
if( HEAD == NULL ) HEAD = temp;
else if( value HEAD-info ) HEAD - left = temp;
else if( value HEAD-info ) HEAD - right = temp;
return;
}
void PRINTSCREEN(PTREE node){
if( !node )
return;
PRINTSCREEN( node - left );
printf( %d , node - info );
PRINTSCREEN( node - right );
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676124 | 함수선언관련 질문이에요~...털썩..수정완료 (2) | 가지 | 2024-11-24 |
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |
2675356 | 2진수를 10진수로 바꾸려고 하는데 막히네요.. | 풀잎 | 2024-11-17 |
2675297 | Prity 비트 발생기 | 한란 | 2024-11-16 |