C数据结构算法_搜索

//顺序搜索,这个函数检查V是否存在于先前保存的数字集合中
int search(int a[] ,int v,int l ,int r) {
 int i;
 for(i = l;i<=r; i++)
  if (v == a[i]) return i;
 return -1; 
}

 

如果没有找到搜索对象则返回-1、否则返回目标索引的位置;

 

//二分搜索,这个程序的功能和顺序搜索相同,但是效率更高
int search(int a[] , int v, int l, int r){
 while(r >= 1){
  int m = (l+r)/2;
  if(v == a[m]) return m;
  if(v < a[m]) r = m-1;
  else l = m+1;
 }
}

点赞