氣泡排序氣泡排序實現記口訣:n個數字來比較外層迴圈n-1,內層迴圈n-1-i
public static void main(string args);
for(int i=0;ia[j+1])}}
}}
第一層:
第1次比較:(8,7
,)6,5,4
第2次比較: 7,(8,6)5,4
第3次比較:7,6,(8,5),4
第4次比較:7,6,5,(8,4)
展現結果:7,6,5,4,8
第二層:
第1次比較:(7,6),5,4,8
第2次比較:6,(7,5),4,8
第3次比較:6,5,(7,4),8
展現結果:6,5,4,7,8
第三層:
第1次比較:(6,5),4,7,8
第2次比較:5,(6,4),7,8
展現結果:5,4,6,7,8
第4層:
第1次比較:(5,4),6,7,8
展現結果:4,5,6,7,8
選擇排序
演算法思想:從頭至尾掃瞄序列,找出乙個最小的元素和第乙個元素交換,接著從剩下的元素中繼續這種選擇和交換,直到成為乙個有序數列。
原始數列:8,7,5,6,4
1,選擇數列中有無序和有序兩部分,開始為無序
8,7,5,6,4
2,從無序中選擇乙個最小的元素和第乙個元素交換,此時就產生了乙個元素的有序數列,無序數列減一。
,3,從無序序列中取出最小的元素5,將5同無序序列第乙個元素交換,此時產生僅兩個元素的有序序列,無序序列減一。
,4,從無序序列中取出最小的元素6,將6同無序序列第乙個元素交換,此時產生含三個元素的有序序列,無序序列減一。
,5,從無序序列中取出最小的元素7,將7同無序序列第乙個元素交換,此時產生含四個個元素的有序序列,無序序列減一。
,6,最後乙個元素肯定是最大元素,無序排序直接生產乙個有序的序列。
public static void main(string args);
selectsort(a);
for(int i=0;ia[j])
}if(min!=i)}}
}**插入排序**
初始狀態
:
a[0] a[1] a[2] a[3] a[4]
(4) 6 5 8 7
(4 6) 5 8 7
(4 5 6) 8 7
(4 5 6 7) 8
(4 5 6 7 8)
public static void main(string args)
insertsort(a);
for(int i=0;i=0 && a[j]>current)
a[j+1]=current;}}
}
冒泡,選擇,插入排序
arr 8,3,1,2,5 定義全域性陣列,用於氣泡排序 arr1 9,6,7,1,4 定義全域性陣列,用於選擇排序 arr2 10,25,7,2,5,1,30,28,21 定義全域性陣列,用於插入排序 temp 0 全域性變數,用於交換數字 氣泡排序 puts 氣泡排序 n begin upto迴...
氣泡排序,選擇排序,插入排序
氣泡排序,選擇排序,插入排序 小規模的檔案以及基本有序的檔案,插入排序的效能比快速排序的效能更為有效一些,實際上,插入排序通常也做快速排序實現的一部分。1 氣泡排序 packagedatastrut public classbubblesort public voidinsert longvalue...
選擇排序 , 插入排序 , 氣泡排序
編寫 include void println int array,int len 列印給定長度的陣列 printf n void swap int array,int i,int j 交換陣列中兩個位置的元素 void selectionsort int array,int len o n n 對...