演算法原理
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為陣列長度 插入排序是從第二個元素開始快取,然後向前比較,...