快速排序(java)

2021-06-14 19:56:28 字數 805 閱讀 1737

//快速排序

public class quacksort

int pivot = arr[low]; // 取第乙個數作為中間數

// 左滑塊當前的下標數,從第二個數字開始,從最後乙個開始

int left = low + 1;

int right = high; // 右滑塊當前的下標數

while (left < right)

// 從右邊開始找

while (left <= right && right > low)

if (left < right)// 如果還沒找完,則交換數字

swap(arr, right, left);

}swap(arr, low, right);// 交換中間數字

sort(arr, low, right);// 排序前面陣列

sort(arr, right + 1, high);// 排序後邊陣列

}// 交換位置

private static void swap(int array, int i, int j)

// 列印方法

private static void print(int a)

system.out.println(); // 換行

}// 主方法

public static void main(string args) ;// 定義陣列

print(a); // 列印之前的序列

sort(a, 0, a.length - 1); // 排序

print(a); // 列印排序後的結果}}

java 快速排序

public class myquicksort while strvoid middle strvoid low lowif low hight else if hight middle temp strvoid hight strvoid hight strvoid low strvoid lo...

快速排序(Java)

快速排序的思想是基於分治法加上遞迴思想,排序陣列時,將陣列分成兩個小部分,然後對它們遞迴排序,直到它們都不可再分為止。快速排序的平均執行時間是o nlog n 遠比插入排序的o n 2 時間小。快速排序 param arr param start param end return private s...

快速排序(java)

各種排序演算法裡快速排序的平均時間複雜度最好,最近專門去理解了一下快速排序,現在記錄如下 public static void quicksort int array,int low,int height array i array j while i j temp array i array j ...