数据结构的题:选取任一种排序方法之后进行折半查找

来源:百度知道 编辑:UC知道 时间:2024/06/05 18:11:46
急用啊,给个能用的代码最好是C语言的

void BubbleSort(int R[])
{ //R是待排序的数组,采用自下向上扫描,对R做冒泡排序
int i,j;
Boolean exchange; //交换标志
for(i=1;i<n;i++){ //最多做n-1趟排序
exchange=FALSE; //本趟排序开始前,交换标志应为假
for(j=n-1;j>=i;j--) //对当前无序区R[i..n]自下向上扫描
if(R[j+1]<R[j]){//交换记录
R[0]=R[j+1]; //R[0]不是哨兵,仅做暂存单元
R[j+1]=R[j];
R[j]=R[0];
exchange=TRUE; //发生了交换,故将交换标志置为真
}
if(!exchange) //本趟排序未发生交换,提前终止算法
return;
} //endfor(外循环)
} //BubbleSort

int binsearch(int r[], int k)
{//折半查找
int low=1,high=n,mid;
while (low<=high){
mid=(low+high)/2;
if (r[mid]==k) return mid;
if (r[mid]>k)
high=mid-1;
else
low=mid+1;
}
return 0;
}
void main(){
int a[]={11,21,5,12,23,1,34,211,66,2};
int pos;
BubbleSort(a);
pos=binsear