두 갈래 정렬 트 리 구축 (비 귀속)

1269 단어 데이터 구조
대의: 간단 한 int 형 이 진 트 리 를 구축 하고 중간 순서 로 오름차 순 출력 을 실현 합 니 다.
코드 는 다음 과 같 습 니 다:
#include
#include
#include
#include
#include
#include
using namespace std;

typedef struct Node{
	int data;
	Node *l,*r;
}Node,*pre;
void travel(pre T)
{
	if(T)
	{
		travel(T->l);
		printf("%3d",T->data);
		travel(T->r);
	}
}
void travel1(pre T)
{
	if(T)
	{
		travel1(T->r);
		printf("%3d",T->data);
		travel1(T->l);
	}
}
void creat_tree(pre &T)
{
	int n,e;
	int flag;
	printf("      
"); scanf("%d",&n); printf(" %d
",n); scanf("%d",&e); T->data=e; n--; Node *p; Node *q; while(n--) { scanf("%d",&e); p=T; while(p) { if(e>p->data) { q=p; p=p->r; flag=0; } else if(edata) { q=p; p=p->l; flag=1; } } p=new Node; p->data=e; p->l=p->r=NULL; if(flag) q->l=p; else q->r=p; } } int main() { pre T; T=new Node; T->l=T->r=NULL; creat_tree(T); travel(T); // printf("
"); travel1(T); // return 0; }

좋은 웹페이지 즐겨찾기