Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
125545 江婉儿 前序遍历 C++ 通过 100 1 MS 1412 KB 875 2024-01-23 17:10:45

Tests(10/10):


#include<bits/stdc++.h> using namespace std; const int Maxn=100000; int n; struct Tree { int left,right,data; }tree[Maxn]; void Create(int *node,int len) { for(int i=1;i<=len;i++) { tree[i].data=node[i]; int pos=0,dir=0; while(dir==0) { if(node[i]<tree[pos].data) if(tree[pos].left!=-1) pos=tree[pos].left; else dir=1; else if(tree[pos].right!=-1) pos=tree[pos].right; else dir=-1; } dir==1?tree[pos].left=i:tree[pos].right=i; } } void Pre(int root) { if(root!=-1) { cout<<tree[root].data<<" "; Pre(tree[root].left); Pre(tree[root].right); } } int main() { cin>>n; int node[n+1]; for(int i=1;i<=n;i++) cin>>node[i]; for(int i=0;i<Maxn;i++) { tree[i].left=-1; tree[i].data=0; tree[i].right=-1; } Create(node,n); Pre(1); return 0; }


测评信息: