最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java數(shù)據(jù)結(jié)構(gòu)之二分查找法 binarySearch的實例

 更新時間:2017年10月19日 15:38:26   作者:zw7534313  
這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)之二分查找法 binarySearch的實例的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下

java數(shù)據(jù)結(jié)構(gòu)之二分查找法 binarySearch的實例

折半查找法,前提是已經(jīng)排好序的數(shù)組才可查找

實例代碼:

public class BinarySearch {
 int[] bArr;
 
 public void setArr(int[] bArr){
 this.bArr=bArr;
 }
 public static void main(String[] args) {
 int arrLength=16;
 int[] bArr=new int[arrLength];
 System.out.println("數(shù)組:");
 bArr=new int[]{72,31,13,94,85,27,64,71,19,55,49,40,8,70,17,13};
 for(int i=0;i<arrLength;i++){
  //bArr[i]=(int)(Math.random()*100);
  System.out.print(bArr[i]+"  ");
 }
 
 System.out.println();
 System.out.println("排序:");
 
 QuickSort qs=new QuickSort();
 qs.setArr(bArr);
 qs.quickSort(0, bArr.length-1);
 
 for(int i=0;i<arrLength;i++){
  System.out.print(bArr[i]+"  ");
 }
 
 BinarySearch bs=new BinarySearch();
 bs.setArr(bArr);
 
 System.out.println();
 System.out.println("查找:");
 int val=bs.binarySearch(bArr.length-1, 0, 13);
 System.out.println("查找:bArr["+val+"]="+13);
 
 }
 
 int binarySearch(int max,int min,int val){//有重復(fù)的取的是第一個出現(xiàn)的位置
 int mid=(max+min)/2;
 if(val==bArr[mid]){
  return mid;
 }
 else if(val>bArr[mid]){
  return binarySearch(max,mid,val);
 }
 else if(val<bArr[mid]){
  return binarySearch(mid,min,val);
 }
 return -1;//查找失敗
 }
}

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • springMVC使用ajaxFailUpload上傳圖片的方法

    springMVC使用ajaxFailUpload上傳圖片的方法

    這篇文章主要介紹了springMVC使用ajaxFailUpload上傳圖片的相關(guān)知識,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • java可變參數(shù)當做數(shù)組處理的方法示例

    java可變參數(shù)當做數(shù)組處理的方法示例

    這篇文章主要介紹了java可變參數(shù)當做數(shù)組處理的方法,結(jié)合實例形式分析了java可變參數(shù)當做數(shù)組處理相關(guān)原理、步驟與操作注意事項,需要的朋友可以參考下
    2019-09-09
  • Spring?Cloud?Stream消息驅(qū)動組件使用方法介紹

    Spring?Cloud?Stream消息驅(qū)動組件使用方法介紹

    Spring?Cloud?Stream?消息驅(qū)動組件幫助我們更快速,更方便,更友好的去構(gòu)建消息驅(qū)動微服務(wù)的。當時定時任務(wù)和消息驅(qū)動的?個對比。消息驅(qū)動:基于消息機制做一些事情
    2022-09-09
  • 基于SpringBoot實現(xiàn)圖片防盜鏈的兩種方式

    基于SpringBoot實現(xiàn)圖片防盜鏈的兩種方式

    出于安全和性能的考慮,我們希望服務(wù)器返回的圖片資源僅在指定網(wǎng)站內(nèi)展示,防止爬蟲或其它站點直接引用圖片地址進行下載或展示,進而消耗服務(wù)器資源,所以本文給大家介紹了基于SpringBoot實現(xiàn)圖片防盜鏈的兩種方式,需要的朋友可以參考下
    2025-02-02
  • Java多線程揭秘之synchronized工作原理

    Java多線程揭秘之synchronized工作原理

    synchronized算是多線程中非常常用的加鎖方式了,但很多人都不太理解其底層的工作原理。本篇文章博主用盡可能通俗易懂的方式來帶大家去看看synchronized究竟是怎么加鎖的
    2021-10-10
  • Mybatis控制臺打印SQL執(zhí)行信息的方法詳解

    Mybatis控制臺打印SQL執(zhí)行信息的方法詳解

    SQL性能監(jiān)控是一個程序必要的功能,通常我們可以使用數(shù)據(jù)庫自帶的客戶端工具進行SQL性能分析,本章節(jié)只實現(xiàn)Mybatis執(zhí)行時對執(zhí)行SQL進行攔截,控制臺打印執(zhí)行SQL包括參數(shù)、執(zhí)行方法以及執(zhí)行時間,需要的朋友可以參考下
    2024-11-11
  • 解決springboot遇到autowire注入為null的問題

    解決springboot遇到autowire注入為null的問題

    這篇文章主要介紹了解決springboot遇到autowire注入為null的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 解決SpringBoot中的Scheduled單線程執(zhí)行問題

    解決SpringBoot中的Scheduled單線程執(zhí)行問題

    在一次SpringBoot中使用Scheduled定時任務(wù)時,發(fā)現(xiàn)某一個任務(wù)出現(xiàn)執(zhí)行占用大量資源,會導(dǎo)致其他任務(wù)也執(zhí)行失敗,這篇文章主要介紹了SpringBoot中的Scheduled單線程執(zhí)行問題及解決方法,需要的朋友可以參考下
    2022-06-06
  • Java下載遠程服務(wù)器文件到本地(基于http協(xié)議和ssh2協(xié)議)

    Java下載遠程服務(wù)器文件到本地(基于http協(xié)議和ssh2協(xié)議)

    這篇文章主要介紹了Java下載遠程服務(wù)器文件到本地的方法(基于http協(xié)議和ssh2協(xié)議),幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-01-01
  • 使用@Value注解從配置文件中讀取數(shù)組

    使用@Value注解從配置文件中讀取數(shù)組

    這篇文章主要介紹了使用@Value注解從配置文件中讀取數(shù)組的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評論

黑水县| 林西县| 邵东县| 略阳县| 平罗县| 灌南县| 固镇县| 扎赉特旗| 鹤岗市| 宣化县| 定边县| 保康县| 崇左市| 赣榆县| 高阳县| 淳化县| 湘潭县| 昔阳县| 双柏县| 凤台县| 聂拉木县| 合作市| 泸定县| 高淳县| 兰坪| 朝阳区| 西林县| 榆社县| 资兴市| 天长市| 盈江县| 镶黄旗| 内黄县| 岗巴县| 新余市| 甘肃省| 北京市| 宁波市| 洞口县| 富宁县| 合水县|