不知道有什么问题,求个位高手解答

硅步小流 硅步小流 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include <iostream>
#include <string>
using namespace std;

template<typename T>
int indexOfKey(T list[], int low, int high, T key);

template<typename T>
int indexOfKey(T list[], T key, int size);

int main()
{
int list1[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int index1 = indexOfKey(list1, 2, 10);
cout << "The index of the key is " << index1 << endl;

double list2[10] = {1.2, 2.5, 3.1, 4, 5, 6, 7, 8.1, 9.5};
int index2 = indexOfKey(list2, 8.1, 10);
cout << "The index of the key is " << index2 << endl;

string list3[4] = {"BeiJing", "ShangHai", "HuNan", "ChenZhou"};
int index3 = indexOfKey(list3, "BeiJing", 4);
cout << "The index of the key is " << index3 << endl;

return 0;
}


template<typename T>
int indexOfKey(T list[], int low, int high, T key)
{
int low = 0;
int high = size - 1;

if (low > high)
return -1 - low;
else
{
int mid = (low + high) / 2;
if (key > list[mid])
return indexOfKey(list, mid + 1, high, key);
else
return indexOfKey(list, low, mid + 1, key);
}
}

template<typename T>
int indexOfKey(T list[], T key, int size)
{
int low = 0;
int high = size - 1;
return indexOfKey(list, low, mid + 1, key);
}
...全文

相关推荐

评论 14
收藏 已收藏
分享
返回顶部
硅步小流
C++ 语言 65,214 成员 250,514 内容