氣泡排序
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.插入排序...