中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

創建、前序、中序、后序遞歸遍歷二叉樹

發布時間:2020-07-13 11:23:05 來源:網絡 閱讀:333 作者:哆悇溫渘 欄目:開發技術

代碼簡介

創建、前序、中序、后序遞歸遍歷二叉樹
VS2010編譯通過

代碼片段

/*
	關于非線性的數據結構當然樹形結構最重要,而樹里面又屬二叉樹最重要,
	所以在后面將列出二叉樹的各種使用方法,包括基本的遍歷,和我在一些
	資料上看到的關于二叉樹的面試題型。至于一些很高級的樹形結構,如平
	衡樹,還有線索樹等,就暫時不寫出來,先完成最基本的,再一點點的加
*/

#include <stdio.h>
#include <stdlib.h>
//typedef void * ElemType;
typedef int ElemType;

struct BinaryTreeNode
{
	ElemType m_nValue;
	BinaryTreeNode *m_pLeft;
	BinaryTreeNode *m_pRight;
};

/*
	二叉樹主要的難點是遍歷
	基本上所有的算法都是基于二叉樹的遍歷的
	至于創建二叉樹就需要在輸入的時候把線性的結構轉換成非線性的
	用輸入的方式創建二叉樹,
*/

				//將輸入獨立起來,
BinaryTreeNode * CreateTree(BinaryTreeNode *bTree)
{
	int input;
	scanf("%d",&input);			//按先序建立二叉樹
	if(input == 0)
	{
		bTree = NULL;	//置為NULL后結束
		return bTree;	
	}
	bTree = (BinaryTreeNode *)malloc(sizeof(BinaryTreeNode));
	bTree ->m_nValue = input;
	bTree->m_pLeft = CreateTree(bTree->m_pLeft);
	bTree->m_pRight = CreateTree(bTree->m_pRight);
	return bTree;
}

//三種遞歸遍歷方法

void Preorder(BinaryTreeNode *bTree)		//這個是先序遍歷,先根,左子樹,右子樹
{
	if(bTree != NULL)
	{
		printf("%d ",bTree->m_nValue);
		Preorder(bTree->m_pLeft);
		Preorder(bTree->m_pRight);
	}
}

void Inorder(BinaryTreeNode *bTree)		//中序遍歷,左子樹,根,右子樹
{
	if(bTree != NULL)
	{
		Inorder(bTree->m_pLeft);
		printf("%d ",bTree ->m_nValue);
		Inorder(bTree ->m_pRight);
	}hxyy2013.b2b168.com
http://www.wenbing.com/kmhx
}

void Postorder(BinaryTreeNode *bTree)		//后序遍歷,左子樹,右子樹,根
{

	if(bTree != NULL)
	{
		Postorder(bTree->m_pLeft);
		Postorder(bTree->m_pRight);
		printf("%d ",bTree ->m_nValue);
	}
}
int main()
{
	BinaryTreeNode *bTree;

	bTree=CreateTree(bTree);
	printf("先序遍歷結果為:\n");
	Preorder(bTree);
	printf("\n");
	
	printf("中序遍歷結果為:\n");
	Inorder(bTree);
	printf("\n");

	printf("后序序遍歷結果為:\n");
	Postorder(bTree);
	printf("\n");

	return 0;
	system("pause");

}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武义县| 蓬安县| 瑞丽市| 宿州市| 水富县| 剑川县| 华容县| 禹城市| 莫力| 秭归县| 天门市| 台中县| 巴南区| 彰武县| 大足县| 久治县| 海盐县| 罗定市| 科技| 江西省| 德钦县| 体育| 宁德市| 中江县| 彩票| 平定县| 高邑县| 平度市| 绍兴市| 乌拉特后旗| 嘉善县| 安图县| 元氏县| 城口县| 湘阴县| 凌海市| 志丹县| 象州县| 油尖旺区| 翁源县| 康保县|