二叉树的存储及遍历

版权声明:lixiang666 https://blog.csdn.net/weixin_43838785/article/details/90082552

链式存储

#include <iostream>
using namespace std;
typedef int elemtype;
typedef struct treenode *bintree;
struct treenode {
	elemtype data;
	bintree left;
	bintree right;
};

在这里插入图片描述
二叉树的遍历
先序遍历
在这里插入图片描述
在这里插入图片描述

void preordertraversal(bintree bt)
{
	if (bt)
	{
		cout << bt->data<<endl;
		preordertraversal(bt->left);
		preordertraversal(bt->right);
	}
}

中序遍历
在这里插入图片描述
每一个都当作根节点

void preordertraversal(bintree bt)
{
	if (bt)
	{
		preordertraversal(bt->left);
		cout << bt->data << endl;
		preordertraversal(bt->right);
	}
}

后序遍历
在这里插入图片描述

void preordertraversal(bintree bt)
{
	if (bt)
	{
		preordertraversal(bt->left);
		preordertraversal(bt->right)
				cout << bt->data << endl;;
	}
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43838785/article/details/90082552