codeVS 3110 二叉查找树做法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codeVS 3110 二叉查找树做法相关的知识,希望对你有一定的参考价值。
题目描述 Description
给定N(N≤500,000)和N个整数(较有序),将其排序后输出。
输入描述 Input Description
N和N个整数
输出描述 Output Description
N个整数(升序)
样例输入 Sample Input
5
12 11 10 8 9
样例输出 Sample Output
8 9 10 11 12
数据范围及提示 Data Size & Hint
对于33%的数据 N≤10000
对于另外33%的数据 N≤100,000 0≤每个数≤1000
对于100%的数据 N≤500,000 0≤每个数≤2*10^9
没错,很水的一道题,其实用sort就可以过了,数据水。。。但我还是想装一逼
1 #include<iostream> 2 using namespace std; 3 typedef struct Node{ 4 int data; 5 Node *lchild,*rchild; 6 }Node,*Tree; 7 Tree bst=NULL; 8 int n,a[500001]; 9 void Init_tree(Tree &bst,int k){ 10 if(!bst){ 11 bst=new Node; 12 bst->data=k; 13 bst->lchild=bst->rchild=NULL; 14 } 15 else{ 16 if(k>bst->data) Init_tree(bst->rchild,k); 17 else Init_tree(bst->lchild,k); 18 } 19 } 20 void z_sort(Tree &bst){ 21 if(bst){ 22 z_sort(bst->lchild); 23 cout<<bst->data<<" "; 24 z_sort(bst->rchild); 25 } 26 } 27 int main(){ 28 bst=NULL; 29 cin>>n; 30 for(int i=1;i<=n;++i){ 31 cin>>a[i]; 32 int k=a[i]; 33 Init_tree(bst,k); 34 } 35 z_sort(bst); 36 return 0; 37 }
以上是关于codeVS 3110 二叉查找树做法的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode810. 黑板异或游戏/455. 分发饼干/剑指Offer 53 - I. 在排序数组中查找数字 I/53 - II. 0~n-1中缺失的数字/54. 二叉搜索树的第k大节点(代码片段