簡單排序總結

2022-03-01 03:15:03 字數 1362 閱讀 3993

氣泡排序

第一輪 i = 0 ; j 從 1-> a.length

第二輪 i = 1 ; j 從 2-> a,length -1 (因為第一層排序最大值已經找出,所以最後乙個值不用排序)

第三輪......

第length -1 輪

package

sort_test;

public

class

mao_pao ;

for (int i = 0; i) }}

for (int

sort: a) }}

折半快速排序

建立乙個基準元素 所有元素和其進行比對,兩個指標記錄左右兩邊比對資料位置

1. 從右向左比對

右側元素 > 基準 交換 再進行左側比對

2.從左向右比對

左側元素 < 基準元素 交換 再進行右側比對

參照 

package

sort_test;

public

class

quick_sort ;

int start = 0;

int end = a.length - 1;

quicksort(a, start, end);

for (int i = 0; i < a.length; i++)

}public

static

void quicksort(int a, int low, int

high)

if (a[end] <=key)

//從前往後比較

//如果沒有比關鍵值大的,比較下乙個,直到有比關鍵值大的交換位置

while (end > start && a[start] <=key)

if (a[start] >=key)

//此時第一次迴圈比較結束,關鍵值的位置已經確定了。

//左邊的值都比關鍵值小,右邊的值都比關鍵值大,但是兩邊的順序還有可能是不一樣的,進行下面的遞迴呼叫

}

//遞迴

//左邊序列。第乙個索引位置到關鍵值索引-1

if (start >low)

//右邊序列。從關鍵值索引+1到最後乙個

if (end }}

排序 簡單排序

氣泡排序 函式名 bubble sort 功能 實現公升序排序 引數 帶排序的陣列,陣列的長度 返回值 為空 描述 時間複雜度為o n 2 輔助空間為o 1 有一種變形的氣泡排序 雞尾酒排序,它是雙向的氣泡排序,時間複雜度也為o n 2 void bubble sort int bubble,int...

排序 簡單排序

一 氣泡排序 源 void bubble sort int array,int size array if flag 0 break 二 插入排序 原理 從第二個元素開始向前比較判斷,如果比前乙個元素小,則前乙個元素往後移動一位,直到第乙個元素或者前面條件不成立,將該元素插入當前位置。源 void ...

簡單排序總結 選擇 插入 交換

最近,開始對資料結構和演算法的複習,這是自己以前學習的弱點,現在想來當時自己就應該心無旁鶩的好好學的,但是,當時有些急功近利,只好現在抓緊時間了。這些基本的排序方法,在實際中由於效率問題,可能很少使用,我們之所以要學習這些方法,權當擴充套件知識面,鍛鍊 思維 1 選擇排序 選擇排序 基本思想是對列表...