Java小结(四)——折半查找、选择排序、冒泡排序
生活随笔
收集整理的這篇文章主要介紹了
Java小结(四)——折半查找、选择排序、冒泡排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最常見的一些基本算法,比如折半查找,選擇排序,冒泡排序。
折半查找,是它是一種效率較高的查找方法。但是,折半查找要求線性表必須采用順序存儲結構,而且表中元素按關鍵字有序排列???? 即數組內元素必須是有序的才可以用折半查找的辦法。
選擇排序,是一種簡單直觀的排序算法。它的工作原理是每一次從待排序的數據元素中選出最小(或最大)的一個元素,存放在序列的起始位置,直到全部待排序的數據元素排完。就相當于,軍訓時候排隊,教練從隊中選擇最小的放在前面,第二小的放在第二位,以此類推。
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小结(四)——折半查找、选择排序、冒泡排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html设置照片模糊效果,CSS如何实现
- 下一篇: Java—正整数分解成质因数