氣泡排序演算法,選擇排序演算法,插入排序演算法

2022-05-02 09:03:12 字數 730 閱讀 8432

這是最基本的三種排序演算法,比它效率高的還有歸併排序,堆排序,快速排序等演算法,作為乙個it民工應該好好掌握。

氣泡排序,選擇排序和插入排序都有兩層迴圈,時間複雜度均為o(n^2),下面逐一介紹:

氣泡排序:

1.外層迴圈,控制冒泡次數,起始從loop=1開始,結束標識是loop2.內層迴圈,選出對應輪的最大數,即第k輪冒泡選出的是第n-k-1大的數,故迴圈從loop=0開始,結束標誌loop選擇排序:

1.外層迴圈,控制比較次數,第i輪設定min_index=i為最小值,結束標誌loop2.記憶體迴圈,迴圈找到本輪最小值的小標loop_min_index並判斷是否交換,迴圈結束標誌為loop插入排序:

1.外層迴圈,控制插入的元素。

2.內層迴圈,控制插入的位置。

下面是自己實現的三種種演算法最簡單的**,沒有做很多測試,有錯還請指正:

void bubblesort(int *a, int

length)

for(int i=1; ii)}}

}void selectionsort(int *a, int

length)

for(int i=0; i1; ++i)

}if(min_index !=i)

}}void insertsort(int *a, int

length)

for(int i=1; ii)

a[j+1] = temp;

}}

Java排序演算法之氣泡排序 插入排序 選擇排序

一 前言 排序是日常中最常見的一種演算法,常見的演算法有 氣泡排序 插入排序 選擇排序 歸併排序 快速排序 計數排序 快速排序 基數排序 桶排序。那麼該怎樣分析和學習排序演算法呢?二 演算法的分析課 在上述的八種排序方法中,根據時間複雜度和是否基於比較可以為三種 排序演算法 時間複雜度 是否基於比較...

演算法 選擇 插入 氣泡排序

選擇排序,就是每次選擇未排序中最小的,放到第i個位置。比如第一次,遍歷整個陣列,找到陣列中最小的,放到第乙個位置 第二次從第2個元素開始遍歷,找到最小的,放到第2個位置 以此類推,流程如下。輸出結果 012 3568 9插入排序,第一次迴圈,當做0 0號位置已經排好序,需要做的是從0 1號位置排序,...

排序演算法 冒泡 選擇 插入排序

本文簡單總結一下三大排序演算法,如有不足,請多多提意見。簡述 從小到大排序,每次比較兩個元素,看他們的順序有沒有錯,如果錯了就換過來。a 比較abc.元素,如果第乙個比第二個大,則將兩個元素交換位置 bac.再依次將a和c進行比較。b 對每一對相鄰的元素做同樣的工作,從第一對到最後一對。這一次執行完...