資料結構與演算法之氣泡排序( )

2022-02-17 04:30:19 字數 820 閱讀 7287

在c語言裡面演算法和資料結構是非常重要的,同樣在c++中也是不可缺少的一部分,演算法的思想有很大的相似之處,如果你對c語言的資料結構與演算法非常熟悉的話,那麼對於c++的資料結構也是非常好理解的。首先我們來講一講最基本的排序方式--氣泡排序法

氣泡排序

對於氣泡排序法,大家學過c語言的應該都不會陌生,他的中心思想也比較好理解,用c++來做的話,原理是一樣。

比如我們有n個無序的數,需要對他進行排序,那麼我們就需要對這些數掃瞄n-1次

當我們掃瞄第一次的時候,就會從左到右依次比較相鄰兩個數之間的大小,如果前面的數比後面的數大則進行交換,反之不交換。

如果是n個數,掃瞄第一次時,那麼他們的比較次數為n-1次,

掃瞄第二次時,他們的比較次數是n-2次 

依次類推,掃瞄第i次時,比較次數為n-i-1次

接下來用程式更好的理解一下

1 #include2

3using

namespace

std; 4

5void bubblesort(int list , int

n); 67

intmain() 8

;

10 bubblesort(a,10

);11

for(int k=0; k<10; k++)

12 cout << a[k] <1314

return0;

15}1617

void bubblesort(int list , int

n)18

2627}28

29 }

資料結構與演算法之氣泡排序

一 氣泡排序的定義及其理解 氣泡排序是一種交換排序,它的基本思路是 兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序的記錄為止。氣泡排序其實很容易理解,顧名思義,我們會想到氣泡。就像水底下的魚兒嘴巴裡吐出的氣泡,越鄰近水平面上的氣泡是越大的。那如何用氣泡排序的方法對大小不一的氣泡進行排序呢?氣...

資料結構與演算法之氣泡排序

氣泡排序作為演算法的入門程式,就好比程式語言裡面的hello world。核心思想就是將相鄰的兩個元素進行比較,如果順序錯誤就進行交換。給定一組資料 9,7,3,5,8,2,1。從第乙個數字9開始,將他與前面的數字7進行比較,大於7,然後兩個就交換位置,然後在用9去跟3做比較,大於3,同樣交換位置,...

資料結構與演算法之氣泡排序

勵志成為程式設計師的小白又來啦!這次要分享的是演算法中的幾種常用排序。首先這次我們要分享的是最經典的氣泡排序 氣泡排序 它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序 如從大到小 首字母從a到z 錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說...