gpt4 book ai didi

c++ - 推导模板参数继续

转载 作者:行者123 更新时间:2023-11-28 07:43:25 25 4
gpt4 key购买 nike

<分区>

在这种情况下,它是一棵二叉树而不是二叉搜索树,模板中只有一个类型为 T 的参数。如 main 函数所示,我不需要显式的 min_height(v, 0, 5) , 但 min_height(v, 0, 5) 就足够了。但是,在二叉搜索树的情况下,有两个模板参数,这种用法不起作用。我想知道为什么?非常感谢!

#include <iostream>
#include<string>
#include<vector>
using namespace std;
template<typename T>
struct BTNode{
T data;
BTNode * left;
BTNode * right;
BTNode(T d, BTNode *left=NULL, BTNode * right=NULL): data(d) {}
};

template<typename T>
BTNode<T>* min_height(vector<T> &v, int left, int right ){// here is different from my paper code

if(left<=right){
int mid=left+ (right-left)/2;
BTNode<T>* node=new BTNode<T>(v[mid]);
node->left=min_height(v, left, mid-1 );
node->right=min_height(v, mid+1, right );
return node;
}
}

int main() {
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
v.push_back(5);
v.push_back(6);
BTNode<int>* root=min_height(v, 0, 5);

return 0;
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com