c_cpp 二叉搜索树(BST)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 二叉搜索树(BST)相关的知识,希望对你有一定的参考价值。
#include <iostream>
#include <vector>
using namespace std;
struct node {
int data;
node *left, *right;
};
void insert(node*& root, int data) {
if (root == NULL) {
root = new node;
root->data = data;
root->left = root->right = NULL;
return;
}
if (data < root->data) {
insert(root->left, data);
}
else {
insert(root->right, data);
}
}
void inOrderTraverse(const node* root, vector<int>& vi) {
if (root == NULL) {
return;
}
inOrderTraverse(root->left, vi);
vi.push_back(root->data);
inOrderTraverse(root->right, vi);
}
int main() {
node* root = NULL;
insert(root, 4);
insert(root, 2);
insert(root, 1);
insert(root, 3);
insert(root, 6);
insert(root, 5);
insert(root, 7);
vector<int> in;
inOrderTraverse(root, in);
for (auto val : in) {
cout << val << " ";
}
cout << endl;
// 1 2 3 4 5 6 7
return 0;
}
以上是关于c_cpp 二叉搜索树(BST)的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 是有效的二叉搜索树。验证BST
c_cpp 独特的二叉搜索树。给定n,生成存储值1 ... n的所有结构上唯一的BST(二叉搜索树)。
树--04---二叉树--01---简介二叉搜索树(BST)实现
二叉搜索树_BST
二叉搜索树_BST
二叉搜索树(BST)的具体实现