데이터 구조 와 알고리즘 문제 집 (중국어) 4 - 11 선순 출력 엽 결점 (15 분)

4-11 우선 출력 엽 결점   (15 분)
이 문 제 는 이 진 트 리 의 잎 결 점 을 선착순 으로 출력 해 야 합 니 다.
함수 인터페이스 정의:
void PreorderPrintLeaves( BinTree BT );

그 중에서 BinTree 구조 정 의 는 다음 과 같다.
typedef struct TNode *Position;
typedef Position BinTree;
struct TNode{
    ElementType Data;
    BinTree Left;
    BinTree Right;
};

함수 PreorderPrintLeaves 는 먼저 옮 겨 다 니 는 순서에 따라 이 진 트 리 BT 의 잎 결 점 을 출력 해 야 합 니 다. 형식 은 빈 칸 에 한 문 자 를 따 르 는 것 입 니 다.
심판 테스트 프로그램 샘플:
#include 
#include 

typedef char ElementType;
typedef struct TNode *Position;
typedef Position BinTree;
struct TNode{
    ElementType Data;
    BinTree Left;
    BinTree Right;
};

BinTree CreatBinTree(); /*        */
void PreorderPrintLeaves( BinTree BT );

int main()
{
    BinTree BT = CreatBinTree();
    printf("Leaf nodes are:");
    PreorderPrintLeaves(BT);
    printf("
"); return 0; } /* */

출력 샘플 (그림 에 제 시 된 트 리):Leaf nodes are: D E H I
#include 
#include 

typedef char ElementType;
typedef struct TNode *Position;
typedef Position BinTree;
struct TNode{
	ElementType Data;
	BinTree Left;
	BinTree Right;
};

BinTree CreatBinTree(); /*        */
void PreorderPrintLeaves(BinTree BT);

int main()
{
	BinTree BT = CreatBinTree();
	printf("Leaf nodes are:");
	PreorderPrintLeaves(BT);
	printf("
"); return 0; } /* */ void PreorderPrintLeaves(BinTree BT) { if (BT) { if ((!BT->Left) && (!BT->Right)) // printf(" %c", BT->Data); PreorderPrintLeaves(BT->Left); PreorderPrintLeaves(BT->Right); } }


좋은 웹페이지 즐겨찾기