正在加载图片...
二分查找的递归实现 int binsearch2 (seqlist I, datatype key, int low, int high) i int mid, k; f(ow>high) return-1;/检索不成功的出口条件* else i mid=(low+high)/2, /二分* f( datagrid]=key) return mid;/检索成功返回 if (I data[mid]key) return binsearch (L, key, low, mid-1 /递归地 在前半部分检索* else return binsearch2(l. key, mid+1high);/递归地 在后半部分检索/*--------二分查找的递归实现------*/ int binsearch2(seqlist l,datatype key,int low,int high) { int mid,k; if (low>high) return -1; /*检索不成功的出口条件*/ else { mid=(low+high)/2; /*二分*/ if (l.data[mid]==key) return mid; /*检索成功返回*/ if (l.data[mid]>key) return /*递归地 在前半部分检索*/ else return /*递归地 在后半部分检索*/ } } binsearch2(l,key,low,mid-1); binsearch2(l,key,mid+1,high);
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有