氣泡排序 插入排序 選擇排序及其實現

2021-07-29 17:11:44 字數 779 閱讀 1364

開始複習基本演算法了,今天下午看了三個排序演算法,都是入門級別的。

一、氣泡排序

1、思想:有兩層迴圈,當前的位置如果到了i(第一層迴圈),那麼就從i+1到n中開始遍歷(第二層迴圈),為的是在i到n中找到最小的,放置在當前的位置上,與選擇排序的不同是,選擇排序是在第二層迴圈之後,將儲存的最小位置與i交換,而氣泡排序中陣列[i]的值一直在變,所以才叫冒泡

2、時間複雜度:最壞時間複雜度為o(n^2)

3、實現**:

#include using namespace std;

int main()

for(int i = 0;i

1、原理:與冒泡排血的不同點為:在第一層迴圈裡設定乙個最小值量,並在第二層中選擇到最小值所在下座標賦予,最後交換位置

2、時間複雜度:o(n^2)

3、源**:

#include using namespace std;

int a[101];

int main()

for(int i =0;i

1、原理:迴圈到陣列某個元素i時,向前面遍歷(第二層迴圈),前面已經排好序了,因此乙個乙個向前換,直到到達排好序的位置後插入。

2、時間複雜度:o(n^2)

3、源**:

#include using namespace std;

int a[101];

int main()

for(int i =1;i0;j--){

if(a[j]

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

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