构建二叉排序树输出父节点
构建二叉排序树输出父节点
插入结点时将当前结点的值也作为参数传递,如果当前要创建新节点插入,则将父亲的值输出
#include<iostream> using namespace std; typedef struct Btree{ int data; struct Btree *left,*right; }*Node,BtNode; Node insert(Node tree,int data,int fat) { if(tree==NULL) { tree=new BtNode; tree->data=data; cout<<fat<<endl; return tree; } else if(tree->data>data) { tree->left=insert(tree->left,data,tree->data); } else tree->right=insert(tree->right,data,tree->data); return tree; } int main() { int n; while(cin>>n) { Node p=nullptr; int data; for(int i=0;i<n;i++) { cin>>data; p=insert(p,data,-1); } } }
学习要点
C++中结构体变量的动态创建
typedef struct Btree{
int data;
struct Btree left,right;
}*Node,BtNode;
使用new Btree或者new BtNode都可