Hdu 3999 - The order of a Tree
2012-11-07 16:19
337 查看
二叉树排序
先按排序树建树,然后将二叉树历遍,输出的最后一项将没有空格。
AC代码:
先按排序树建树,然后将二叉树历遍,输出的最后一项将没有空格。
AC代码:
#include <stdio.h> #include <string.h> #include <algorithm> using namespace std; int p[100100],i=0; struct node { int data; node *lson,*rson; }; node *T; int cnt=0; node temp[100100]; node *newNode(int val) { node *T=temp+cnt; cnt++; T->lson=NULL; T->rson=NULL; T->data=val; return T; } node *Insert(int val,node *T) { if(T==NULL) T=newNode(val); else { if(val<T->data) { if(T->lson==NULL) T->lson=newNode(val); else Insert(val,T->lson); } else { if(T->rson==NULL) T->rson=newNode(val); else Insert(val,T->rson); } } return T; } void preOrder(node *T) { if(T==NULL) return; p[i]=T->data; i++; preOrder(T->lson); preOrder(T->rson); } int main() { long n,i; int k[100100]; while(scanf("%ld",&n)!=EOF) { for(i=0;i<n;i++) scanf("%d",&k[i]); cnt=0; for(i=0;i<n;i++) T=Insert(k[i],T); preOrder(T); for(i=0;i<n;i++) { printf("%d",p[i]); if(i<n-1) printf(" "); } printf("\n"); } return 0; }
相关文章推荐
- 二叉搜索树的前序遍历:hdu 3999 The order of a Tree
- HDU(3999)The order of a Tree
- hdu 3999 The order of a Tree
- 多效第16场 HDU 3999 The order of a Tree(二叉树)
- HDU 3999 The order of a Tree
- HDU 3999 The order of a Tree (二叉搜索树+先序遍历)
- hdu 3999 The order of a Tree (二叉搜索树)
- HDU 3999 The order of a Tree
- HDU 3999----The order of a Tree(二叉树的前序遍历)
- hdu 3999 The order of a Tree(二叉搜索树)
- HDU 3999 The order of a Tree
- The order of a Tree HDU - 3999
- hdu 3999 The order of a Tree
- HDU 3999 The order of a Tree 二叉搜索树 BST
- hdu 3999:The order of a Tree
- HDU 3999 The order of a Tree 二叉搜索树 BST
- HDU 3999 The order of a Tree
- HDU-3999 The order of a Tree 树的遍历
- HDU3999 The order of a Tree(构建二叉搜索树模板指针)
- hdu 3999 The order of a Tree