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

歡迎訪問 生活随笔!

生活随笔

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

java

排序方法整理Java - 冒泡排序、选择排序、插入排序、快速排序

發布時間:2025/3/21 java 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 排序方法整理Java - 冒泡排序、选择排序、插入排序、快速排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*** 排序方法整理* @author zhyea**/ public class Sort {/*** 冒泡排序,從小到大。* 冒泡排序是比較相鄰的兩個元素,若順序錯誤,則執行交換。循環走訪序列直到不需要比較。穩定排序。* @param arr* 待排序的數組*/public static void bubbleSort(int[] arr){int tmp = 0;for(int k=0; k<arr.length; k++){for(int i=1; i<arr.length; i++){if(arr[i-1] > arr[i] ){tmp = arr[i];arr[i] = arr[i-1];arr[i-1] = tmp;}}}}/*** 選擇排序,從小到大* 每次從待排序序列中取出最大(或最小)的一個元素,放入已排好序的序列后面。不穩定排序。* @param arr* 待排序數組*/public static void selectSort(int[] arr){int tmp = 0;for(int k=0; k<arr.length; k++){ for(int i=k+1; i<arr.length; i++){if(arr[i] < arr[k]){tmp = arr[i];arr[i] = arr[k];arr[k] = tmp;}}}}/*** 插入排序,從小到大* 從待排序序列中取出一個,插入已排好序的序列的適當位置,如是重復。穩定排序。* @param arr* 待排序數組* */public static void insertSort(int[] arr){int tmp = 0;for(int k=1; k<arr.length; k++){for(int i=k; i>0; i--){if(arr[i]<arr[i-1]){tmp = arr[i];arr[i] = arr[i-1];arr[i-1] = tmp;}}}}/*** 快速排序,從小到大* 通過一次排序,將待排序序列分成兩部分,其中一部分中的值比另一部分都小;遞歸如上步驟,可完成排序。不穩定排序* 可以通過減少交換優化快速排序,不列出了* @param arr*/public static void quickSort(int[] arr, int low, int high){int l = low;int h = high;int tmp = 0;int key = arr[0];while(h>l){while(h>l && arr[h]>=key){h--;}if(h>l){tmp = arr[l];arr[l] = arr[h];arr[h] = tmp;l++;}else{break;}while(h>l && arr[l]<=key){l++;}if(h!=l){tmp = arr[h];arr[h] = arr[l];arr[l] = tmp;h--;}else{break;}}if(l>low)quickSort(arr, 0, h-1);if(h<high)quickSort(arr, l+1, high);}public static void main(String[] args){int[] arr = {8, 5, 4, 6, 9, 7, 5, 6};System.out.println("冒泡排序" );bubbleSort(arr);printArr(arr);}/*** 循序輸出數組中的每個元素* @param arr* 待輸出數組*/private static void printArr(int[] arr){for(int i=0; i<arr.length; i++){System.out.print(arr[i] + ", ");}System.out.print("\n");} }

轉載于:https://www.cnblogs.com/amunote/p/4109851.html

總結

以上是生活随笔為你收集整理的排序方法整理Java - 冒泡排序、选择排序、插入排序、快速排序的全部內容,希望文章能夠幫你解決所遇到的問題。

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