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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java小结(四)——折半查找、选择排序、冒泡排序

發布時間:2025/3/15 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java小结(四)——折半查找、选择排序、冒泡排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最常見的一些基本算法,比如折半查找,選擇排序,冒泡排序。
折半查找,是它是一種效率較高的查找方法。但是,折半查找要求線性表必須采用順序存儲結構,而且表中元素按關鍵字有序排列???? 即數組內元素必須是有序的才可以用折半查找的辦法。

//折半查找public static int halfSearch(int arr[],int key){int min,mid,max;min=0;max=arr.length-1;while(min<=max)//在min不大于max這個條件下,不斷的折半查找{mid=(min+max)/2;if(arr[mid]>key)max=mid-1;else if (arr[mid]<key) min=mid+1;elsereturn mid;}return -1;}

選擇排序,是一種簡單直觀的排序算法。它的工作原理是每一次從待排序的數據元素中選出最小(或最大)的一個元素,存放在序列的起始位置,直到全部待排序的數據元素排完。就相當于,軍訓時候排隊,教練從隊中選擇最小的放在前面,第二小的放在第二位,以此類推。

public static void selectSort(int arr[]){for (int x=0;x<arr.length-1 ;x++ ) {for (int y=x+1;y<arr.length ;y++ ) {if(arr[x]>arr[y]){int temp=arr[x];arr[x]=arr[y];arr[y]=temp;}}}}

冒泡排序,重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。就想一塊石頭最終會沉下去,而最輕的會冒泡上來,也就是每次排序都會至少確定一個數的位置是最終位置。

public static void BubbleSort(int[] arr){int flag=0;//設定標志,如果第一次循環比較時沒有發生交換,說明數組是升序排序,不用比較排序,提交結束循環。for (int x=0;x<arr.length-1 ;++x ) {for (int y=0;y<arr.length-x-1 ;y++ ) {if(arr[y]>arr[y+1]){int temp=arr[y];arr[y]=arr[y+1];arr[y+1]=temp;flag=1;}}if (flag==0) {System.out.println("No Sort");break;}} }

此外,還有其他的一些排序算法,大家都可以再了解下,像快速排序,希爾排序,歸并排序等。每種排序算法都有其優缺點。

總結

以上是生活随笔為你收集整理的Java小结(四)——折半查找、选择排序、冒泡排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。