[OJ]1005:Binary Search Tree analog
Input
The first integer of the input is T
, the number of test cases.
Each test case has two lines.
The first line contain an integer N
,(1<=N
<=1000), the number of numbers need to be inserted into the BST.
The second line contain N
integers separated by space, each integer is in the range of [0,230].
#include <stdio.h> #include <stdlib.h> typedef struct _Node{ int data; struct _Node *left; struct _Node *right; }Node; void insert(Node *T, int x){ Node *p = T; Node *f = T; while(p != NULL){ f = p; if(x<p->data){ p = p->left; }else{ p = p->right; } } p = malloc(sizeof(Node)); p->data = x; p->left = p->right = NULL; if(x<f->data){ f->left = p; }else{ f->right = p; } } void pre_order(Node *T){ if(T == NULL){ return; } printf("%d ", T->data); pre_order(T->left); pre_order(T->right); } void in_order(Node *T){ if(T == NULL){ return; } in_order(T->left); printf("%d ", T->data); in_order(T->right); } void post_order(Node *T){ if(T == NULL){ return; } post_order(T->left); free(T->left); T->left = NULL; post_order(T->right); free(T->right); T->right = NULL; printf("%d ", T->data); } void main(){ int t, vertices, vertex; Node *T=NULL; scanf(" %d", &t); while(t--){ scanf(" %d", &vertices); while(vertices--){ scanf(" %d", &vertex); if(T == NULL){ T = malloc(sizeof(Node)); T->data = vertex; T->left = NULL; T->right = NULL; }else{ insert(T, vertex); } } pre_order(T); printf("\n"); in_order(T); printf("\n"); post_order(T); printf("\n"); free(T); T = NULL; } }
标签: C
日历
最新微语
- 有的时候,会站在分叉路口,不知道向左还是右
2023-12-26 15:34
- 繁花乱开,鸟雀逐风。心自宁静,纷扰不闻。
2023-03-14 09:56
- 对于不可控的事,我们保持乐观,对于可控的事情,我们保持谨慎。
2023-02-09 11:03
- 小时候,
暑假意味着无忧无虑地玩很长一段时间,
节假意味着好吃好喝还有很多长期不见的小朋友来玩...
长大后,
这是女儿第一个暑假,
一个半月...
2022-07-11 08:54
- Watching the autumn leaves falling as you grow older together
2018-10-25 09:45
分类
最新评论
- Goonog
i get it now :) - 萧
@Fluzak:The web host... - Fluzak
Nice blog here! Also... - Albertarive
In my opinion you co... - ChesterHep
What does it plan? - ChesterHep
No, opposite. - mojoheadz
Everything is OK!... - Josephmaigh
I just want to say t... - ChesterHep
What good topic - AnthonyBub
Certainly, never it ...
发表评论: