두 갈래 나무의 구축, 옮겨다니는 간단한 코드
1673 단어 c 언어 기초
free가 없으면 이 습관은 정말 좋지 않다.but는 프로그램이 간단하기 때문에 프로그램이 실행된 후에 시스템은free에게 이 프로세스malloc에서 나오는 공간을 줄 것이다. 간단한 코드는 시스템에 영향을 주지 않는다. 만약에 대형 시스템 코드라면 위험이 존재한다.
#include
#include
#include
typedef struct BiTNode_s{
int data;
struct BiTNode_s *LChild;
struct BiTNode_s *RChild;
}BiTNode;
static int i = 0;
BiTNode* CreateTree()
{
char a[10];
BiTNode *Tree;
scanf("%s",a);
if(!(strcmp("quit",a))){
Tree = NULL;
return Tree;
}
Tree = (BiTNode *)malloc(sizeof(BiTNode));
if(!Tree){
return Tree;
}
Tree->data = i++;
Tree->LChild = CreateTree();
Tree->RChild = CreateTree();
return Tree;
}
int pprintf(BiTNode *Tree)
{
if(Tree == NULL){
//printf("TREE is NULL!
");
return 0;
}
printf("(");
printf("%d",Tree->data);
if(Tree->LChild) pprintf(Tree->LChild);
if(Tree->RChild) pprintf(Tree->RChild);
printf(")");
return 0;
}
int PreOrder(BiTNode *Tree) //
{
if(Tree){
printf("%4d",Tree->data);
PreOrder(Tree->LChild);
PreOrder(Tree->RChild);
}
}
int MidOrder(BiTNode *Tree) //
{
if(Tree){
PreOrder(Tree->LChild);
printf("%4d
",Tree->data);
PreOrder(Tree->RChild);
}
}
int main(void)
{
BiTNode *Tree;
Tree = CreateTree();
if(!Tree){
printf("root is null!
");
return 0;
}
PreOrder(Tree);
printf("
");
MidOrder(Tree);
pprintf(Tree);
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
데이터 구조 - 꼬치: 총 결 실현텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.