#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
/*
输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求
不能创建任何新的结点,只能调整树中结点指针的指向。
*/
using namespace std;
struct BinaryTreeNode
{
int m_nValue = 0;
BinaryTreeNode* m_pLeft = NULL;
BinaryTreeNode* m_pRight = NULL;
};
//建树算法
BinaryTreeNode* createBiTree() {
BinaryTreeNode* root;
int ch;
cin >> ch;
if (ch == 0)
root = NULL;
else {
root = new BinaryTreeNode;
root->m_nValue = (int)ch;
root->m_pLeft = createBiTree();
root->m_pRight = createBiTree();
}
return root;
}
/*
二叉树的前序遍历
*/
void qianxu(BinaryTreeNode* node)
{
if (node != NULL)
{
printf("%d\t", node->m_nValue);
qianxu(node->m_pLeft);
qianxu(node->m_pRight);
}
}
/*
二叉树的中序遍历
*/
void zhongxu(BinaryTreeNode* node)
{
if (node != NULL)
{
zhongxu(node->m_pLeft);
//cout << node->m_nValue << " ";
printf("%d\t
C++二叉树建立,遍历代码
最新推荐文章于 2022-05-05 12:37:06 发布
这篇博客详细介绍了如何使用C++编程语言构建二叉树结构,包括二叉树的创建过程以及深度优先和广度优先遍历的代码实现,旨在帮助读者理解二叉树的基本操作。
摘要由CSDN通过智能技术生成