欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

包含二分查找java代碼6的詞條

求一個(gè)簡單的一維數(shù)組二分查找程序代碼Java

public class Test6 { //二分查找 public static int findPos(int[] a,int key) { int start=0; int end=a.length-1; int temp=0; while(startend){ int mid=(start+end)/2; if(keya[mid]){ start=mid+1; temp=start; }else if(keya[mid]){ end=mid-1; temp=end; }else { return mid; } } return temp; } public static void main(String[] args) { int[]array={1,4,6,7,10,11,23,78}; System.out.println(findPos(array, 0)); }}

10年積累的網(wǎng)站制作、成都網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有特克斯免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

用Java語言編寫對整型數(shù)組進(jìn)行二分查找的程序。

public class BinarySearchDemo {

public static void main(String[] args) {

int[] a = new int[]{1,5,7,9,11,18,23,48,69};

int point = new BinarySearchDemo().binarySearch(a, 23);

if(point == -1)

System.out.println("在數(shù)組中未查找到數(shù)23");

else

System.out.println("數(shù)字23是數(shù)組中第 " + (point + 1) + " 位數(shù)");

}

/**

* 二分法查找一個(gè)整數(shù)在整型數(shù)組中的位置

*

* 算法思路:首先得到數(shù)組a的最小值和最大值的下標(biāo),分別是:low和high,接著求出值位于數(shù)組中間那個(gè)數(shù)的下標(biāo)middle

* 然后再將這個(gè)middle對應(yīng)的數(shù)組中的數(shù)和待查找的數(shù)num進(jìn)行比較,如果相等,則表示已查找到,如果num a[middle]

* 則說明num位于a[low]和a[middle]之間,于是將a[middle - 1]設(shè)為較大值,繼續(xù)求出此時(shí)對應(yīng)的a[middle],

* 再進(jìn)行比較,其他情況可依次類推。一直到low=high,如果此時(shí)還沒有在數(shù)組a中查找到,則說明該數(shù)組a中沒有值num,返回-1

*

* @param a 給定的整型數(shù)組

* @param num 待查找的數(shù) num

*

* @return 返回整數(shù)num在數(shù)組a中的位置下標(biāo),如果未查找到則返回-1

* */

public int binarySearch(int[] a,int num){

int low = 0;

int high = a.length - 1;

while(low = high){

int middle = (low + high) / 2;

if(num == a[middle])

return middle;

else if(num a[middle])

high = middle - 1;

else

low = middle + 1;

}

return -1;

}

}

程序基本上就是這樣了,其中注釋中有詳細(xì)的解釋說明

求一個(gè)java的二分查找的程序代碼

//你那程序太難改了,每個(gè)方法都單職責(zé)啊

public?class?Test6?{

//二分查找

public?static?int?findPos(int[]?a,int?key)?{

int?start=0;

int?end=a.length-1;

int?temp=0;

while(startend){

int?mid=(start+end)/2;

if(keya[mid]){

start=mid+1;

temp=start;

}else?if(keya[mid]){

end=mid-1;

temp=end;

}else?{

return?mid;

}

}

return?temp;

}

public?static?void?main(String[]?args)?{

int[]array={1,4,6,7,10,11,23,78};

System.out.println(findPos(array,?0));

}

}

java二分查找

我大概看了一下,找出了你2個(gè)重要的缺點(diǎn).

第一,你用一個(gè)5個(gè)數(shù)的小數(shù)組挨個(gè)按你寫的算法算一下,你會發(fā)現(xiàn)很多地方是a.length-1而非a.length,有的地方是==,而不是.

其中還有2個(gè)小地方.

if(counta.length/2) break;

可以寫成while(reader.hasNextInt()counta.length/2).

3.else if(na[middle]) 可以寫成 else.

第二,是最重要的問題.算法上面.

試想一下如果只有2個(gè)數(shù).start是0,end是1,給出的數(shù)是a,用你的if(na[middle]) start=middle;0.5取0,永遠(yuǎn)start,middle都是0.如果你說因此你用a.length而不是減1,那a就永遠(yuǎn)也取不到。

怎么解決,加一個(gè)如果middle=(start+end)/2后等于start且不為0的話,start取end.

本文標(biāo)題:包含二分查找java代碼6的詞條
標(biāo)題鏈接:http://aaarwkj.com/article30/docpeso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、云服務(wù)器、網(wǎng)站改版、網(wǎng)站制作、用戶體驗(yàn)、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
国产熟女碰碰人人a久久| 日本久久久精品福利视频| 午夜男女激情在线观看| 欧美日韩精品激情一区二区| 国产剧情av在线资源| 欧美另类精品一区二区| 国产乱国产乱老熟部视频| 国产精品主播自拍视频| 亚欧熟女乱色一二三区日韩| 日本精品一级免费在线| 线上免费看黄色亚洲片| 亚洲欧美精品一区二区三区| 99精品人妻一区二区三区| 精品在欧美一区二区少妇| 欧美亚洲精品一区在线观看| 99久久婷婷免费国产综合精品| 亚洲综合欧美自偷自拍| 亚洲欧美中文日韩一区| 日韩av手机在线不卡| 性生活的视频免费观看麻豆| 女性裸体无遮挡啪啪网站| 日本道二区视频中文字幕| 欧美黄色一级在线免费观看| 亚洲国产精品日韩专区av有中文| 欧美黄色一区在线观看| 国产美女冒白浆免费网站| 日本韩国国语对白一区二区三区| 色婷婷一区二区三区网站| 国产高跟丝袜av专区| 精品国产第一区二区三区| 国内精品自产拍久久久久久久久91| 国产在线精品91系列| 欧美精品在线高清观看| 一本色道久久88综合日韩| 久久久久久亚洲av黄床| 日本精品动漫一区二区三区 | 国产精品国产三级区| 日本午夜理论视频在线播放| 青青草原在线视频观看| 日韩精品中文字幕欧美激情| 亚洲国产熟对白剧情一区二区|