二分法:(分治+递归) binary search:
用于在一组已排序数据中查找需要的值的位置
在一组已排序数据
如果数值个数为0 返回空否则
如果中间的是目标数据 成功 返回该指针
否则 如果目标数据比中间小
返回在左串中查找的结果
否则在右串中查找的结果
#include <iostream>
using namespace std;
class Person
{
string name;
int age;
string addr;
public:
Person(const char *name,int age,const char *addr):name(name),age(age),addr(addr){}
friend bool operator<(const Person& a,const Person& b)
{
return a.name < b.name;
}
friend bool operator==(const Person& a,const Person& b)
{
return a.name == b.name;
}
friend ostream& operator<<(ostream& o,const Person& a)
{
o<< a.name << ',' << a.age << ',' << a.addr;
return