排序 4種排序

2021-08-08 11:06:34 字數 1622 閱讀 7735

1.氣泡排序:(穩定)o(n*n)

①.比較相鄰的元素,如果前乙個比後乙個大,就把她們兩個調換位置

①.對每一對相鄰的元素作同樣處理,從開始到最後一對,這步做完後,最後的元素會是最大的數。

//氣泡排序

//從小到大排序,從第乙個元素開始,相鄰元素比較,j比j+1大的,交換位置。

public class bubblesort

public static void bubblesort(int a)}}

}public static void main(string args) ;

bubblesort(a);

for(int i=0;isystem.out.print(a[i]);}}

2.簡單選擇排序:    《不穩定》   o(n*n)

初始時在序列中找到最小(大)元素,放到序列的起始位置作為已排序序列;然後,再從剩餘未排序元素中繼續尋找最小(大)元素,放到已排序列的末尾。

//簡單選擇類排序,把第i個當成最小的,便利第i+1之後的,找到最小的和i交換。

public class selectsort

public static void selectsort(int a)

if(min!=i)}}

}public static void main(string args) ;

selectsort(a);

for(int i=0;isystem.out.print(a[i]);}}

}3.直接插入排序        《穩定》      0(n*n)

/*思想:1.從第乙個元素開始,該元素可以認為已經被排序。

* 2.取出下乙個元素,在已經排序的元素序列中從後向前掃瞄

*  3.如果該元素(已排序)大於新元素,將該元素移到下乙個位置。

*  4.重複3,直到找到已排序的元素小於或者等於新元素的位置。

*  5.將新元素插入到該位置。

* */

public class insertsort

a[j+1]=get;*/

int j=i-1;

while(j>=0&&a[j]>get)

a[j+1]=get;}}

public static void main(string args) ;

insertsort(a);

for(int i=0;isystem.out.print(a[i]);}}

}4.快速排序       《不穩定》

①.從序列中挑出乙個元素,作為「基準」

②.把所有比基準值小的元素放在基準前面,把所有比基準值大的元素放在基準的後面

public class quicksort

public static int qsort(int a,int low,int high)

return low;//此時 low和high在乙個位置上。

}public static void qsort2(int a,int low,int high)

}public static void main(string args) ;

qsort2(a,0,a.length-1);

for(int i=0;isystem.out.print(a[i]);}}

}

4種排序方式

四種排序方式從時間複雜度和空間複雜度比較 排序法最差時間分析 平均時間複雜度 穩定度空間複雜度 氣泡排序 o n2 o n2 穩定o 1 快速排序 o n2 o n log2n 不穩定o log2n o n 選擇排序 o n2 o n2 穩定o 1 二叉樹排序 o n2 o n log2n 不一定o...

Java常見4種排序

排序 看到資料排序這節所以把排序的常見方法都整理下。一 氣泡排序 從最左邊開始對兩個數進行比較,如果第 個數大於第 個數,兩個數就交換,不斷重複。最好時間複雜度o n 最壞時間複雜度o n 平均時間複雜度o n public class arraydemo06 for int i 1 i for i...

php實現4種排序演算法

前提 分別用氣泡排序法,快速排序法,選擇排序法,插入排序法將下面陣列中的值按照從小到大的順序進行排序。arr 1,43,54,62,21,66,32,78,36,76,39 思路分析 在要排序的一組數中,對當前還未排好的序列,從前往後對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。...