新手 能不能帮忙实现一个这个算法 谢谢!!!!
int BinarySearch(Type a[],const Type&x, int n)
{
int left = 0;int right = n-1;
while (left <= right)
{
int middle = (left + right)/2;
if(x == a[middle]) return middle;
if(x > a[middle]) left = middle + 1;
else right = middle - 1;
}
return -1;
}
[解决办法]
二分查找的函数模板
<class T>
int BinarySearch(。。。)
{
}
加上<class T>就行了。或者是<template T>
[解决办法]
楼主 搜索一下 三分钟就有结果 何必 ~ ~
自己动手 丰衣足食
到程序有什么问题和不理解的再来问人
[解决办法]
[code=C/C++][/code]
#include "stdafx.h"
#include<iostream>
using namespace std;
template <class Type>
int BinarySearch(Type a[],const Type&x, int n)
{
int left = 0;int right = n-1;
while (left <= right)
{
int middle = (left + right)/2;
if(x == a[middle]) return middle;
if(x > a[middle]) left = middle + 1;
else right = middle - 1;
}
return -1;
}
int main()
{
int a[9]={1,2,3,4,5,6,7,8,9};
cout<<BinarySearch(&a[0],5,9);
}