氣泡排序
第一輪 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.從左向右比對
左側元素 < 基準元素 交換 再進行右側比對
參照
packagesort_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 選擇排序 選擇排序 基本思想是對列表...