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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

排序方式

發布時間:2024/5/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 排序方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、快速排序

public static int[] quickSort2(int[] a) {qSort(a, 0, a.length - 1);return a;}public static void qSort(int[] sequence, int low, int high) {int pivot = sequence[low]; // 取首元素的為基準int left = low, right = high;if (low >= high) {return;}swap(sequence, low, high); //將基準與最后一個元素交換while (true) {//將序列中比基準小的移到基準左邊,比基準大的移到基準右邊while (low < high && sequence[low] <= pivot) {low++;}while (low < high && sequence[high] >= pivot) {high--;}if (low < high) {swap(sequence, low, high);} else {break;}}swap(sequence, low, right); //將最后的基準換到正確的位置//分別對兩個子集進行快排qSort(sequence, left, low - 1);qSort(sequence, low + 1, right);}

二、歸并排序

/** * 歸并排序 * * 申請空間,使其大小為兩個已經排序序列之和,該空間用來存放合并后的序列* 設定兩個指針,最初位置分別為兩個已經排序序列的起始位置 * 比較兩個指針所指向的元素,選擇相對小的元素放入到合并空間,并移動指針到下一位置* 重復步驟3直到某一指針達到序列尾 * 將另一序列剩下的所有元素直接復制到合并序列尾 */public static int[] mergingSort(int[] a) {if (a.length > 0) {mergingSortRecursion(a, 0, a.length - 1);}return a;}public static void mergingSortRecursion(int[] data, int left, int right) {if (left < right) {int middle = (left + right) / 2;mergingSortRecursion(data, left, middle);mergingSortRecursion(data, middle + 1, right);merge(data, left, middle, right);}}public static void merge(int[] data, int left, int middle, int right) {int[] tempArray = new int[data.length];int i = left; // 左邊序列的游標int j = middle + 1; // 右邊序列的游標int k = left; // 臨時序列的游標// 從兩個數組中取出最小的放入中間數組while (i <= middle && j <= right) {if (data[i] <= data[j]) {tempArray[k++] = data[i++];} else {tempArray[k++] = data[j++];}}// 剩余部分依次放入中間數組while (j <= right) {tempArray[k++] = data[j++];}while (i <= middle) {tempArray[k++] = data[i++];}// 將中間數組中的內容復制回原數組while (left <= right) {data[left] = tempArray[left++];}}

總結

以上是生活随笔為你收集整理的排序方式的全部內容,希望文章能夠幫你解決所遇到的問題。

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