Java常見排序 三 快速排序

2021-07-23 11:05:25 字數 566 閱讀 7445

快速排序是一種非常快的交換排序方法,思路很簡單,將待排的資料序列中任意取乙個資料作為分界值,所有比這個值小的放在左邊,比他大的放在右邊。形成左右兩個子串行,左邊的值都比分界值小,右邊的值都比分界大。接下來對左右兩個子串行進行遞迴,兩個子串行重新選擇中心元素並按照上述規則調整,直到每個字序列中只剩乙個元素。

快速排序

[時間複雜度:

o(nlogn)

、空間複雜度:

o(log2n)

、不穩定]

快速排序的具體實現**

package com.wpl.mysort;

//實現快速排序

public class quicksort

s[i] = x;

quick_sort(s, l, i - 1); // 遞迴呼叫

quick_sort(s, i + 1, r);

}}

public static void main(string args) ;

quick_sort(test,0,test.length-1);

for(int i=0;i

Java排序(氣泡排序 快速排序)

一 氣泡排序 冒泡演算法原理 冒泡演算法就是依次比較陣列中相鄰的兩個元素,如果左邊比右邊大則進行調換,以此類推,這樣第一次排序就把最大的元素放在最底下。舉例說明 要排序陣列 int arr 第1輪排序前陣列為 7,2,6,5,9,4 第1輪第1次比較 7大於2交換位置 2,7,6,5,9,4 第1輪...

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)

快速排序 public class quacksort int pivot arr low 取第乙個數作為中間數 左滑塊當前的下標數,從第二個數字開始,從最後乙個開始 int left low 1 int right high 右滑塊當前的下標數 while left right 從右邊開始找 wh...