将“指针指针”传递给函数获取分段错误时.Code通过插入函数生成二叉搜索树。 插入函数正在获取指向根节点的指针以及它在正确位置插入的键值
#include<iostream>
#include<stdlib.h>
strong text
using namespace std;
struct node
{
int data;
struct node* left;
struct node* right;
};
void insert(struct node** node,int data)
{
if( *node == 0 )
{
(*node) = (struct node* ) malloc(sizeof(struct node));
(*node)->data = data;
(*node)->left = 0;
(*node)->right = 0;
}
else if(data < ((*node) -> data)){
insert((&((*node) -> left)),data);
}
else if(data > ((*node)->data)){
insert((&((*node)->right)),data);
}
}
void inordertreversal(struct node* node)
{
inordertreversal(node->left);
cout << node->data;
inordertreversal(node->right);
}
int main()
{
struct node *root = 0;
insert(&root,10);
insert(&root,6);
inordertreversal(root);
return 0;
}
非常感谢
答案 0 :(得分:1)
每次检查下一个节点:
void inordertreversal(struct node* node)
{
if (node->left)
inordertreversal(node->left);
cout << node->data;
if (node->right)
inordertreversal(node->right);
}
之后:
$ g++ example.c -o example && ./example
6
10