数据结构:二叉排序树(创建二叉排序树及其中序遍历)
Posted zzjam--1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构:二叉排序树(创建二叉排序树及其中序遍历)相关的知识,希望对你有一定的参考价值。
#include<stdio.h> #include<stdlib.h> typedef struct Node int data; struct Node *left, *right; Node; Node * CreateTree(int n) int a[101],i; for(i=0;i<n;i++) scanf("%d",&a[i]); Node* t1; t1=(Node*)malloc(sizeof(Node)); t1->data=a[0]; t1->left=t1->right=NULL; for(i=1;i<n;i++) Node* t2,*p=t1,*q; t2=(Node*)malloc(sizeof(Node)); t2->data=a[i]; t2->left=t2->right=NULL; while(p) if(p->data>a[i]) q=p; p=p->left; else q=p; p=p->right; if(q->data>a[i]) q->left=t2; else q->right=t2; return t1; void Preorder(Node *tree) if(tree==NULL) return ; Preorder(tree->left); printf("%d ",tree->data); Preorder(tree->right); int main() Node *tree; int n; while(~scanf("%d",&n)) tree=CreateTree(n); Preorder(tree); printf("\n");
以上是关于数据结构:二叉排序树(创建二叉排序树及其中序遍历)的主要内容,如果未能解决你的问题,请参考以下文章