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

2021-10-09 06:21:56 字數 849 閱讀 8187

演算法原理

1)氣泡排序只會操作相鄰的兩個資料。

2)對相鄰兩個資料進行比較,看是否滿足大小關係要求,若不滿足讓它倆互換。

3)一次冒泡會讓至少乙個元素移動到它應該在的位置,重複n次,就完成了n個資料的排序工作。

4)優化:若某次冒泡不存在資料交換,則說明已經達到完全有序,所以終止冒泡。

void

bubblesort

(int a,

int n)}if

(!flag)

break

;//沒有資料交換,提前退出

}}

演算法原理

首先,我們將陣列中的資料分為2個區間,即已排序區間和未排序區間。初始已排序區間只有乙個元素,就是陣列的第乙個元素。插入演算法的核心思想就是取未排序區間中的元素,在已排序區間中找到合適的插入位置將其插入,並保證已排序區間中的元素一直有序。重複這個過程,直到未排序中元素為空,演算法結束。

void

insertionsort

(int a,

int n)

else

} a[j+1]

= value;

//插入資料

}}

演算法原理

選擇排序演算法也分已排序區間和未排序區間。但是選擇排序每次會從未排序區間中找到最小的元素,並將其放置到已排序區間的末尾。

void

selectionsort

(int a,

int n)

}// 和當前下標 不相等的話,要對調一下

if(min != i)

}}

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

氣泡排序,選擇排序,插入排序 小規模的檔案以及基本有序的檔案,插入排序的效能比快速排序的效能更為有效一些,實際上,插入排序通常也做快速排序實現的一部分。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為陣列長度 插入排序是從第二個元素開始快取,然後向前比較,...