【PAT甲级】1064 Complete Binary Search Tree (30 分)
题意:
输入一个正整数N(<=1000),接着输入N个非负整数(<=2000),输出完全二叉树的层次遍历。
AAAAAccepted code:
1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 int a[1007]; 5 int tree[1007]; 6 int cnt; 7 int n; 8 void dfs(int x){ 9 if(x>n) 10 return; 11 dfs(x*2); 12 tree[x]=a[++cnt]; 13 dfs(x*2+1); 14 } 15 int main(){ 16 ios::sync_with_stdio(false); 17 cin.tie(NULL); 18 cout.tie(NULL); 19 cin>>n; 20 for(int i=1;i<=n;++i) 21 cin>>a[i]; 22 sort(a+1,a+1+n); 23 dfs(1); 24 cout<<tree[1]; 25 for(int i=2;i<=n;++i) 26 cout<<" "<<tree[i]; 27 return 0; 28 }
保持热爱 不懈努力
不试试看怎么知道会失败呢(划掉)
世上无难事 只要肯放弃(划掉)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步