여름 방학 합숙 훈련 day 9 - 나무 구조 연습 - 정렬 이 진 트 리 의 중간 순서

트 리 구조 연습 - 정렬 이 진 트 리 의 중간 순서 옮 겨 다 니 기
Time Limit: 1000 ms Memory Limit: 65536 KiB
Submit Statistic
Problem Description
나무 구조 에서 특수 한 이 진 트 리 를 정렬 이 진 트 리 라 고 하 는데 직관 적 인 이 해 는 바로 (1) 이다. 각 노드 에 하나의 관건 적 인 값 (2) 이 포함 되 어 있다. 임의의 노드 의 왼쪽 트 리 (존재 한다 면) 의 관건 적 인 값 은 이 노드 의 관건 적 인 값 (3) 보다 작다. 한 노드 의 오른쪽 트 리 (존재 한다 면) 의 관건 적 인 값 은 이 노드 의 관건 적 인 값 보다 크다.현재 한 그룹의 데 이 터 를 지정 합 니 다. 이 데 이 터 를 지정 한 순서에 따라 정렬 이 진 트 리 를 만 들 고 그 순서 로 옮 겨 다 니 는 결 과 를 출력 하 십시오.
 
Input
여러 그룹 을 포함 하 는 데 이 터 를 입력 하 십시오. 각 그룹의 데이터 형식 은 다음 과 같 습 니 다.
첫 번 째 줄 은 하나의 정수 n 을 포함 하고 관건 적 인 값 의 개 수 를 포함 하 며 관건 적 인 값 은 정수 로 표시 합 니 다.(n<=1000)
두 번 째 줄 은 n 개의 정 수 를 포함 하여 모든 정수 가 int 범위 안에 있 도록 합 니 다.
Output
주어진 데 이 터 를 위해 정렬 이 진 트 리 를 만 들 고 그 중 순서 로 결 과 를 출력 합 니 다. 출력 마다 한 줄 을 차지 합 니 다.
 
Sample Input
1
2
2
1 20

Sample Output
2
1 20

Hint
 
Source
조 리 강
 
/ * 이 문 제 는 빈 칸 문제 로 인해 오랫동안 디 버 깅 되 었 습 니 다. 이때 data 는 Int 형 이 어야 합 니 다 >
#include #include #include
struct node {     int data;     struct node *l, *r; };
char s[100], s1[100]; int len, len1, k;
struct node *creat(struct node *root, int x) {     if(!root)     {         root = (struct node*)malloc(sizeof(struct node));         root-> data = x;
        root-> l = NULL;         root-> r = NULL;     }
    else     {         if(root-> data > x)         {             root-> l = creat(root-> l, x);         }
        else         {             root-> r = creat(root-> r, x);         }     }
    return root; }
void mid(struct node *root) {
    if(root)     {         mid(root-> l);        // printf("%d", i);         if(!k)         {             printf("%d", root-> data);             k++;         }
        else         {             printf(" %d", root-> data);         }         mid(root-> r);     } }
int main(void) {     int x, n, i;     struct node *root;
    while(~scanf("%d", &n))     {         root = NULL;         k = 0;         for(i = 0; i < n; i++)         {             scanf("%d", &x);             root = creat(root, x);         }         mid(root);         printf("");     }
    return 0; }

좋은 웹페이지 즐겨찾기