日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 二分法 应用_介绍一下java中的二分法运用

發(fā)布時間:2025/4/5 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 二分法 应用_介绍一下java中的二分法运用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2015-05-10 06:30:02

閱讀( 83 )

/*二分法的前提是這個數(shù)組是從大到小或者從小到大的排序方式,以下是按照從小到大的方式*/

public class Test {

public static void main(String[] args) {

// 定義一個數(shù)組

int nums[] = { 1, 3, 6, 8, 9, 10, 12, 18, 20, 33, 34 };

// 欲查詢的數(shù)字

int num = 35;

// 輸出num在nums中的索引

System.out.println(“二分法查看數(shù)組中某數(shù)的索引為:” + dichotomy(nums, num));

}

/**

* 二分法查找

*

* @param nums 數(shù)組

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

* @return 返回num索引,如果不存在返回-1

*/

public static int dichotomy(int[] nums, int num) {

// 數(shù)組長度必須大于零

if (nums != null && nums.length > 0) {

// 開始索引

int start = 0;

// 結(jié)束索引

int end = nums.length – 1;

// 中間索引

int center = (start + end) / 2;

// 開始索引不能大于結(jié)束索引

while (start <= end) {

// 取中間索引值比較,如果相同,返回該索引

if (num == nums[center]) {

return center;

}

// 如果值在center右邊或左邊,重新定位start或end,重新計算center值

if (num > nums[center]) {

start = center + 1;

}

if (num < nums[center]) {

end = center – 1;

}

center = (start + end) / 2;

}

}

return -1;

}

}

分享給朋友:

親~ 如果您有更好的答案 可在評論區(qū)發(fā)表您獨到的見解。

您想查看更多的信息:

面試題

總結(jié)

以上是生活随笔為你收集整理的java 二分法 应用_介绍一下java中的二分法运用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。