資料結構 十大經典排序演算法之氣泡排序

2021-10-06 02:46:47 字數 597 閱讀 4510

演算法思想:

氣泡排序重複地遍歷待排序的數列,每次比較兩個相鄰元素,如果它們的順序錯誤就把它們交換。重複地進行遍歷直到沒有再需要交換時表示數列已經排序完成。

演算法步驟:

比較相鄰的元素:若第乙個比第二個大,則交換;

遍歷開始第一對到結尾最後一對,執行步驟1;

重複步驟1~2,直到排序完成。

可改進的氣泡排序:第一趟排序之後最後乙個元素是最大的,因此下一趟遍歷只需執行到倒數第二對。

演算法動態演示:

c++部分**實現:

void

sort

(int

*arr,

int n)

// 將亂序序列arr轉化為公升序序列

// 函式引數:亂序整數陣列arr 陣列長度

// }}

}

資料結構 十大經典排序演算法

0演算法概述 0.1演算法分類 十種常見排序演算法可以分為兩大類 比較類排序 通過比較來決定元素間的相對次序,由於其時間複雜度不能突破o nlogn 因此也稱為非線性時間比較類排序。非比較類排序 不通過比較來決定元素間的相對次序,它可以突破基於比較排序的時間下界,以線性時間執行,因此也稱為線性時間非...

十大經典排序演算法 氣泡排序

一 演算法複雜度 二 演算法流程 1 遍歷每個資料,對每個資料和其後的資料進行比較,如果第乙個較大進行交換,相當於把最大值放到最後 2 每次排序會去除掉最後乙個最大的值,再將前面部分進行排序一次 三 實現 def swap arr,i,j tmp arr i arr i arr j arr j tm...

十大經典排序演算法 氣泡排序

氣泡排序 bubble sort 也是一種簡單直觀的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。usr b...