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 思路分析 在要排序的一組數中,對當前還未排好的序列,從前往後對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。...