幾種簡單的排序總結

2021-07-31 16:36:21 字數 1277 閱讀 8116

氣泡排序
public

static

void

main(string args)

;output(a);

//共排序n-1趟

for(int i=0;i1;i++)//i代表趟數

//每一趟從第乙個元素到倒數第二個元素

for(int j=0;j1-i;j++)

}output(a);

}

選擇排序
public static void main(string args)

;output(a);

//共排序n-1趟

for(int i=0;ilength-1;i++)

}}output(a);

}

插入排序
public

static

void

main(string args)

;output(a);

//共排序n-1趟

for(int i=0;i1;i++)}}

output(a);

}

快速排序
public

static

void

main(string args)

;output(a);

quick(a);

output(a);

}//快速排序:傳入排序陣列a

public

static

void

quick(int a)

//劃分方法:對給定陣列a的a[low...high]進行劃分,完成後返回中軸元素的下標位置

public

static

intpartition(int a,int low,int high)

//將首尾指標重合後, 將中軸元素放置到此位置

a[i]=key;

//返回中軸元素的下標位置

return i;

}//快速排序遞迴方法:給定陣列a[low...high]快速排序

public

static

void

qsort(int a,int low,int high)

}

幾種簡單的排序演算法總結

注 1 以下所有排序演算法均按照從小到大的順序排列 2 以下演算法中用到的交換函式都一樣,如下 void swap int a,int i,int j 因此不在每個排序演算法中進行詳解 1.氣泡排序 1.最簡單的氣泡排序 思想 該排序演算法在排序的過程中總共進行n 1趟排序,每一趟排序都將當前的關鍵...

幾種簡單的排序

今天檢視了arrays.sort a 的源 發現好複雜,根據a的長度不同,arrays.sort a 會呼叫不同的排序方法。簡單複習了下 快速排序 很簡單,把比某個數大的放右邊,小的放左邊。private static int partition int n,int left,int right i...

幾種簡單的排序

1.氣泡排序 主要思路 從前往後依次交換兩個相鄰的元素,大的交換到後面,這樣每次大的資料就到後面,每一次遍歷,最大的資料到達最後面,時間複雜度是o n 2 2.選擇排序 主要思路 每次遍歷序列,從中選取最小的元素放到最前面,n次選擇後,前面就都是最小元素的排列了,時間複雜度是o n 2 3.插入排序...