冒泡 選擇 插入排序

2021-10-01 03:22:45 字數 1472 閱讀 5533

氣泡排序氣泡排序實現記口訣: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 對...