标签:
给定N(N≤500,000)和N个整数(较有序),将其排序后输出。
N和N个整数
N个整数(升序)
5
12 11 10 8 9
8 9 10 11 12
对于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 }
标签:
原文地址:http://www.cnblogs.com/xyy1647034346/p/5297389.html