氣泡排序 插入排序 選擇排序

2021-10-01 09:32:59 字數 1036 閱讀 7322

氣泡排序對相鄰的兩個元素進行比較,看是否滿足大小關係。如果不滿足就讓它倆互換。每輪冒泡操作都會讓至少乙個元素移動到它應該在的位置,最多重複 n 次,就完成了 n 個元素的排序工作。

public

void

bubblesort

(int

a)for(

int i =

0; i < n;

++i)}if

(!flag)

}}

將陣列中的資料分為已排序區間和未排序區間。挨個取未排序區間中的元素,在已排序區間中找到合適的位置進行插入,並保證已排序區間中的元素一直有序。重複這個過程,直到未排序區間中元素為空,演算法結束。

public

void

insertsort

(int

a)for(

int i =

1; i < n; i++

) a[j +1]

= tmp;

}}

因為氣泡排序的資料交換要比插入排序的資料移動要複雜,氣泡排序有三次賦值操作,而插入排序只有一次賦值操作,而它們排序過程中移動次數都與逆序度有關,所以相同情況下插入排序耗時更少。

選擇排序演算法的實現思路類似插入排序:將陣列中的資料分為已排序區間和未排序區間,每次從未排序區間中找到最小的元素,將其放到已排序區間的末尾。

氣泡排序,選擇排序,插入排序

氣泡排序,選擇排序,插入排序 小規模的檔案以及基本有序的檔案,插入排序的效能比快速排序的效能更為有效一些,實際上,插入排序通常也做快速排序實現的一部分。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 對...

氣泡排序 插入排序 選擇排序

氣泡排序是每輪比較未排序部分,從第乙個元素開始找最值,比較相鄰數字,依次往後推移,最終將最值置於最右。假設有n個數,外迴圈迴圈n 1遍,內迴圈是n 1在減去當前是第幾次外迴圈。void bubble sort mytype a,int n n為陣列長度 插入排序是從第二個元素開始快取,然後向前比較,...