中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

C語言實(shí)現(xiàn)把二叉樹中所有結(jié)點(diǎn)的左、右子樹進(jìn)行交換的函數(shù)-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)公司擁有一支富有激情的企業(yè)網(wǎng)站制作團(tuán)隊,在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)深耕10余年,專業(yè)且經(jīng)驗豐富。10余年網(wǎng)站優(yōu)化營銷經(jīng)驗,我們已為成百上千家中小企業(yè)提供了成都網(wǎng)站設(shè)計、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)解決方案,按需求定制網(wǎng)站,設(shè)計滿意,售后服務(wù)無憂。所有客戶皆提供一年免費(fèi)網(wǎng)站維護(hù)!

完整代碼:

#include#include#includeusing namespace std;

typedef char ElemType;
typedef struct BiNode {
	ElemType data;
	BiNode* lchild;
	BiNode* rchild;
}BiNode, * BiTree;

//構(gòu)建二叉樹
BiNode* Create(BiNode* bt) {
	static int i = 0;
	char ch;
	//string str = "AB#D##C##";
	//string str = "124##56##7##3##";
	//string str = "ABD#G##E##CF###";
	string str = "ABD#GH##I##E##CF###";
	ch = str[i++];
	if (ch == '#')bt = NULL;//建立一棵空樹 
	else {
		bt = (BiTree)malloc(sizeof(BiNode)); bt->data = ch;//生成一個結(jié)點(diǎn),數(shù)據(jù)域為ch
		bt->lchild = Create(bt->lchild);//遞歸建立左子樹
		bt->rchild = Create(bt->rchild);//遞歸建立右子樹
	}
	return bt;
}

//采用遞歸算法實(shí)現(xiàn)交換二叉樹的左右子樹,首先交換b結(jié)點(diǎn)的左孩子的左右子樹,
//然后交換b結(jié)點(diǎn)的右孩子的左右子樹,最后交換b結(jié)點(diǎn)的左右孩子,當(dāng)
//結(jié)點(diǎn)為空時遞歸結(jié)束(后序遍歷的思想)。算法實(shí)現(xiàn)如下:
void swap(BiTree b) {
	//本算法遞歸地交換二叉樹的左右子樹
	BiTree temp;
	if (b) {
		swap(b->lchild);//遞歸地交換左子樹
		swap(b->rchild);//遞歸地交換右子樹
		temp = b->lchild;//交換左右孩子結(jié)點(diǎn)
		b->lchild = b->rchild;
		b->rchild = temp;
	}
}

void visit(char c) {
	printf("%c",c);
}

void InOrder(BiTree T) {
	if (T) {
		InOrder(T->lchild);
		visit(T->data);
		InOrder(T->rchild);
	}
}

int main() {
	BiTree T = (BiTree)malloc(sizeof(BiNode));
	T = Create(T);
	printf("交換前的中序遍歷\n");
	InOrder(T);
	swap(T);
	printf("\n交換后的中序遍歷\n");
	InOrder(T);
	printf("\n");
}

實(shí)驗結(jié)果:

用中序遍歷驗證二叉樹所有結(jié)點(diǎn)的左右子樹交換是否成功!

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

文章題目:C語言實(shí)現(xiàn)把二叉樹中所有結(jié)點(diǎn)的左、右子樹進(jìn)行交換的函數(shù)-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://m.rwnh.cn/article4/djgcoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、軟件開發(fā)網(wǎng)站導(dǎo)航、面包屑導(dǎo)航標(biāo)簽優(yōu)化、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司
莫力| 宜兰县| 宁乡县| 长海县| 高雄县| 佛冈县| 共和县| 阿拉尔市| 方城县| 苗栗县| 财经| 开平市| 峡江县| 紫金县| 垦利县| 兴安县| 商河县| 和平县| 肇源县| 宝丰县| 蒙阴县| 靖州| 安龙县| 武乡县| 昆明市| 鄢陵县| 盐津县| 宣恩县| 巴青县| 田林县| 永仁县| 清水县| 新闻| 鄂尔多斯市| 营口市| 澄江县| 乐东| 安龙县| 颍上县| 昭苏县| 台前县|