二分法
数组a[]={1,7,13,14,18,28}//非递减数组。
先分成等大小的两部分,找某个数的下标,不断的吧数组分成两部分,从而找出要找的数的下标。
int l,r;
while(l<r)
{
int mid=(l+r)/2;
if(a[mid]<x)
l=mid+1;
if(a[mid]>x)
r=mid-1;
if(a[mid]==x)
break;
}
return mid;
sort(排序函数)
#include"algorithm"头文件
栗子
1
数组a[50]={1,2,3,4,5,-1}
sort(a,a+6)
a[50]={-1,1,2,3,4,5};
2
自定义排序方法
bool compare(int a,int b)
{
return a<b; //升序排列,如果改为return a>b,则为降序
}
接着调用三个参数的sort:sort(begin,end,compare)
菜鸟理论,dalao看看就好。