快速排序與氣泡排序

2021-08-20 19:30:17 字數 569 閱讀 6273

1.快速排序:

思想:先隨機確定乙個key值,再通過將i++和j--分別將陣列第一次分為兩個區間,i從陣列的頭開始,j從陣列的尾部開始,其中如果遇到第乙個區間的值大於key的值就將這個值放到第二個區間,直到第乙個區間裡的所有值都要小於第二個區間的值,最後當i和j相等,將arr[i]=key;呼叫遞迴再次執行這個方法,又會將第乙個區間分為兩個區間,第二個區間分為兩個區間,直到最後所有區間都是排好序的。

public static void quicksort(int arr,int start, int end)

if(i+12.氣泡排序:

氣泡排序就是找規律,將最大的值沉到陣列的底部,相鄰兩個值比較,a數a+1大,那麼交換這倆個數的位置,接著再將a+1數和a+2數進行比較,也是一樣,a+1大於a+2就交換這兩個數的位置,否則不交換。假設陣列長度length是5,畫圖找規律:

氣泡排序與快速排序

氣泡排序與快速排序屬於互換類的排序方法。所謂互換排序是指借助資料元素之間的互相交換進行排序的一種方法。1.1氣泡排序 演算法情景 將乙個無序的陣列進行氣泡排序 氣泡排序方案1 演算法思路 氣泡排序方案1的排序思想就是外層迴圈n 1 內層迴圈n i 1次,內層的每次的迴圈都是將最大的數字下沉到最後位置...

氣泡排序與快速排序

一 氣泡排序 相信氣泡排序大家都知道,無非是每一趟排序時將相鄰兩個元素進行交換,根據從大到小或從小到大的順序,交換起來略有不同,如此進行n 1次排序即可得到整個陣列有序。1 平均時間複雜度為o n 2 2 最好情況下時間複雜度為o n 此時設定標誌位,元素有序時直接退出 3 最壞之間複雜度為o n ...

java氣泡排序與快速排序

1.氣泡排序 public class bubblesort return count public int sort2 int array return count public static void main string args system.out.println bs.sort1 ar...