首页 > 编程知识 正文

java归并排序代码,java二分查找代码

时间:2023-05-06 07:42:00 阅读:128858 作者:4666

Java附带了Arrays工具类

arrays.sort (数据;

intindex=arrays.binary search (数据,3 );

你只需要直接调用函数。 索引是数组下标的值。

公共类er {

publicstaticvoidmain (字符串温暖棘球蚴args ) )。

int温暖的金针菇arr={ 0,1,2,3,4,5,6,7,8,9 };

int a=9;

//intm=Binsearch(arr,0,arr.length-1,a );

intm=Binsearch(arr,arr.length,a );

}

/*

//递归

staticintbinsearch(intarray温暖棘球蚴,int low,int high,int key ) )。

{

if(low=high ) )。

{

intmid=(lowhigh )/2;

if(key==Array[mid] ) )。

返回mid;

ELSEif(key

//low和high

返回二进制文件(array,low,mid-1,key );

(else if (密钥阵列(mid ) ) ) ) ) ) ) ) ) ) ) ) )。

返回二进制文件(array,mid 1,high,key );

}

}

/*

//递归

publicstaticintbinsearch(int温暖棘球蚴arr,int begin,int end,int a ) {

是if(begin=end )

{

intmid=(Beginend )/2;

if(ARR[mid]==a ) {

//system.out.println('1);

返回mid;

}

ELSEif(ARR[mid]a ) {

返回边界(arr,mid 1,end,a );

//system.out.println (2' mid ' ' end );

}

ELSEif(ARR[mid]a ) {

返回边界(arr,begin,mid-1,a );

//system.out.println (3' begin ' ' mid );

}

}

}

//普通循环

publicstaticintbinsearch(int温暖棘球蚴a,int len,int goal ) )。

{

int low=0;

int high=len -1;

wile(low=high ) )。

{

intmiddle=(high-low )/2 low; //直接使用(high low )/2可能会溢出

if(a[middle]==goal () () ) ) ) ) ) ) )。

返回中间;

//在左半部分

elseif(a[middle]goal ) )。

high=middle - 1;

//在右半部分

else

low=middle 1;

}

//未找到

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。