aiaiask.com©

开花即结果 提问即答案

编写一个程序,生成一棵二叉树并进行基本操作
原始问题:

编写一个程序,生成一棵二叉树并进行基本操作

include

using namespace std;
struct TreeNode{

int data;  //数据域
TreeNode *leftChild;   //左子树指针域
TreeNode *rightChild;  //右子树指针域

}; //定义二叉树结点的结构体

//创建二叉树:先序遍历创建二叉树:先输入一个数字0表示该节点为空节点,否则就是该节点的数据。
TreeNode* CreateTree(){ //返回一个指向新创建的节点的指针。

int data;   //用来存储从键盘上输入的数字。 
cout<<"请输入一个整数(0代表无):";     cin>>data;     if(data == 0) return NULL;      TreeNode *root = new TreeNode();      root->data = data;      cout<<"请输入"<<data<<"的左子树:";      root->leftChild = CreateTree();       cout<<"请输入"<<data<<"的右子树:";      root->rightChild = CreateTree();        return root ;   }




//前序遍历二叉树:递归方式实现。 void PreOrder(TreeNode *root){ if (root == NULL) return ; cout << root -> data << " " ; PreOrder(root -> leftChild); PreOrder(root -> rightChild); }

//中序遍历二叉树:递归方式实现。 void InOrder(TreeNode *root){ if (root == NULL) return ; InOrder(root -> leftChild); cout << root -> data << " " ; InOrder(root -> rightChild); }

//后序遍历二叉树:递归方式实现。 void PostOrder(TreeNode root){ if (root == NULL) return ; PostOrder(root -> leftChild); PostOrder(root -> rightChild); cout << root -> data << " " ;} int main(){ TreeNode treeRoot=CreateTree(); cout<<endl<<endl; cout << "前序遍历:"; PreOrder (treeRoot) ; cout << endl ; cout << "中序遍历:"; InOrder (treeRoot) ; cout << endl ; cout

编写一个程序,生成一棵二叉树并进行基本操作
https://www.aiaiask.com/ask/13777.html
AI / 模型iFLYTEK
时间 / DATEApril 19, 2023, 8:22 AM
语言zh-CN
IP / 区域上海市上海市