演算法 氣泡排序

2021-06-20 07:49:01 字數 610 閱讀 8252

氣泡排序,它的時間複雜度為o(n^2),雖然不及堆排序、快速排序的o(nlogn,底數為2),但是有兩個優點:1.「程式設計複雜度」很低,很容易寫出**;2.具有穩定性,這裡的穩定性是指原序列中相同元素的相對順序仍然保持到排序後的序列,而堆排序、快速排序均不具有穩定性。不過,一路、二路歸併排序、不平衡二叉樹排序的速度均比氣泡排序快,且具有穩定性,但速度不及堆排序、快速排序。氣泡排序是經過n-1趟子排序完成的,第i趟子排序從第1個數至第n-i個數,若第i個數比後乙個數大(則公升序,小則降序)則交換兩數

例項:void bobblesort (seqlist* _plist)

bool bexchangeflag;

for(int i=0;i<_plist->length-1;i++)//排序次數,最多排序(長度-1)趟排序

for(int j=0;j<_plist->length-i;j++)

if(_plist-_plist->data[j+1])

int temp=_plist-_plist-data[j+1];

_plist->data[j+1]=temp;

bexchangeflag=true;

if(!bexchangeflag)

return ;

氣泡排序演算法 C 氣泡排序演算法排序詳解

氣泡排序是最簡單的排序方法,理解起來容易。雖然它的計算步驟比較多,不是最快的,但它是最基本的,初學者一定要掌握。c 氣泡排序演算法的例項源 一些排序方法的 集錦,該函式模板使用冒泡法對集合元素進行排序,引數說明 collection 集合物件,集合物件必須提供 操作。element 集合元素,該引數...

氣泡排序 氣泡排序演算法優化

常用的排序演算法主要包括 1 插入排序 直接插入排序 希爾排序 2 交換排序 氣泡排序 快速排序 3 選擇排序 簡單選擇排序 堆排序快速排序 4 歸併排序其中,氣泡排序算是最簡單的一種排序演算法 public class bubble int temp 0 for int i 0 iarr j 1 ...

排序演算法 氣泡排序

一.氣泡排序的過程 公升值排序 1.將第乙個記錄的關鍵字與第二個記錄的關鍵字進行比較,若key 1 key 2 則交換。然後比較第二個與第三個,依此類推,直到第n 1個與第n個比較為止,第一趟排序完後,記錄最大的關鍵字會被排在最後面。2.將記錄的前n 1個關鍵字進行第二趟比較交換,直到前n 1個中最...