二分查找数组交集初级版

来源:互联网 发布:欧美最美女星知乎 编辑:程序博客网 时间:2024/06/14 10:16
#include<stdlib.h>#include<stdio.h>int BinarySearchInter(int *a ,int lena,int *b,int lenb,int *Inter){ if(lena<1||lenb<1)  return 0; int k=0; for(int i=0;i<lena;i++) {  int begin=0;  int end=lenb-1;  int mid;  while(begin<=end)  {   mid=begin+(end-begin)/2;   if(b[mid]<a[i])   {    begin=mid+1;   }   else if(b[mid]>a[i])   {    end=mid-1;   }   else   {    Inter[k++]=a[i];    break;   }  }   } return k;}int main(){ int a[]={0,1,1,2,3,4,6,7,9,10}; int b[]={3,4,5}; int Result[10]; int lena=sizeof(a)/sizeof(a[0]); int lenb=sizeof(b)/sizeof(b[0]); int Count=BinarySearchInter(b,lenb,a,lena,Result); for(int i=0;i<Count;i++) {  printf("%d\t",Result[i]); } system("pause");}
0 0
原创粉丝点击