日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 充電吧
[導(dǎo)讀]冒泡排序: 臨近的數(shù)字兩兩進行比較,按照從小到大或者從大到小的順序進行交換, 這樣一趟過去后,最大或最小的數(shù)字被交換到了最后一位, 然后再從頭開始進行兩兩比較交換,直到倒數(shù)第二位時結(jié)束

冒泡排序:

臨近的數(shù)字兩兩進行比較,按照從小到大或者從大到小的順序進行交換,

這樣一趟過去后,最大或最小的數(shù)字被交換到了最后一位,

然后再從頭開始進行兩兩比較交換,直到倒數(shù)第二位時結(jié)束,其余類似看例子

例子為從小到大排序,

原始待排序數(shù)組| 6 | 2 | 4 | 1 | 5 | 9 |


第一趟排序(外循環(huán))

第一次兩兩比較6 > 2交換(內(nèi)循環(huán))

交換前狀態(tài)| 6 | 2 |?4 | 1 | 5 | 9 |

交換后狀態(tài)| 2 | 6 |?4 | 1 | 5 | 9 |

?

第二次兩兩比較,6 > 4交換

交換前狀態(tài)| 2?| 6 | 4 |?1 | 5 | 9 |

交換后狀態(tài)| 2?| 4 | 6 |?1 | 5 | 9 |

?

第三次兩兩比較,6 > 1交換

交換前狀態(tài)| 2 | 4?| 6 | 1 |?5 | 9 |

交換后狀態(tài)| 2 | 4?| 1 | 6 |?5 | 9 |

?

第四次兩兩比較,6 > 5交換

交換前狀態(tài)| 2 | 4 | 1?| 6 | 5 |?9 |

交換后狀態(tài)| 2 | 4 | 1?| 5 | 6 |?9 |

?

第五次兩兩比較,6 < 9不交換

交換前狀態(tài)| 2 | 4 | 1 | 5?| 6 | 9 |

交換后狀態(tài)| 2 | 4 | 1 | 5?| 6 | 9 |

?

第二趟排序(外循環(huán))

第一次兩兩比較2 < 4不交換

交換前狀態(tài)| 2 | 4 |?1 | 5 | 6 | 9 |

交換后狀態(tài)| 2 | 4 |?1 | 5 | 6 | 9 |

?

第二次兩兩比較,4 > 1交換

交換前狀態(tài)| 2?| 4 | 1 |?5 | 6 | 9 |?
交換后狀態(tài)| 2?| 1 | 4 |?5 | 6 | 9 |

?

第三次兩兩比較,4 < 5不交換

交換前狀態(tài)| 2 | 1?| 4 | 5 |?6 | 9 |?
交換后狀態(tài)| 2 | 1?| 4 | 5 |?6 | 9 |

?

第四次兩兩比較,5 < 6不交換

交換前狀態(tài)| 2 | 1 | 4?| 5 | 6 |?9 |

交換后狀態(tài)| 2 | 1 | 4?| 5 | 6 |?9 |

?

第三趟排序(外循環(huán))

第一次兩兩比較2 > 1交換

交換后狀態(tài)| 2 | 1 |?4 | 5 | 6 | 9 |

交換后狀態(tài)| 1 | 2 |?4 | 5 | 6 | 9 |

?

第二次兩兩比較,2 < 4不交換

交換后狀態(tài)| 1?| 2 | 4 |?5 | 6 | 9 |?
交換后狀態(tài)| 1?| 2 | 4 |?5 | 6 | 9 |

?

第三次兩兩比較,4 < 5不交換

交換后狀態(tài)| 1 | 2?| 4 | 5 |?6 | 9 |?
交換后狀態(tài)| 1 | 2?| 4 | 5 |?6 | 9 |

?

第四趟排序(外循環(huán))無交換

第五趟排序(外循環(huán))無交換


排序完畢,輸出最終結(jié)果1 2 4 5 6 9

分析過了之后,直接上代碼了:

#include 

  
 void BubbleSort(int arr[], int length)
 {
      int temp;
      for (int i = 0; i < length; ++i)
      {
           for (int j = 0; j < length - i - 1; ++j)
           {
                if (arr[j] > arr[j + 1])
                {
                     temp = arr[j];
                     arr[j] = arr[j + 1];
                     arr[j + 1] = temp;
                }
           }
      }
 }
  
 int main()
 {
      int arr[6] = {6,2,4,1,5,9};
  
      BubbleSort(arr, sizeof(arr) / sizeof(arr[0]));
  
      for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i)
      {
		  std::cout<





本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在工業(yè)控制系統(tǒng)中,Modbus RTU協(xié)議的CRC校驗如同通信網(wǎng)絡(luò)的"免疫系統(tǒng)",某石化廠DCS系統(tǒng)曾因CRC計算錯誤導(dǎo)致0.3%的數(shù)據(jù)包丟失,引發(fā)連鎖控制故障。本文將深入解析CRC-16/MODBUS算法原理,對比軟件...

關(guān)鍵字: Modbus RTU CRC 算法

加密算法分對稱加密和非對稱算法,其中對稱加密算法的加密與解密密鑰相同,非對稱加密算法的加密密鑰與解密密鑰不同,此外,還有一類不需要密鑰的散列算法。

關(guān)鍵字: 算法 嵌入式

在現(xiàn)代數(shù)字系統(tǒng)設(shè)計中,將算法高效地轉(zhuǎn)化為 RTL(寄存器傳輸級)實現(xiàn)是 FPGA 工程師的核心任務(wù)之一。這一過程不僅需要對算法有深入理解,還需掌握 FPGA 的硬件特性和設(shè)計技巧。本文將詳細介紹從算法到 RTL 實現(xiàn)的關(guān)...

關(guān)鍵字: 算法 寄存器傳輸級 數(shù)字系統(tǒng)

從本質(zhì)上講,算法是一種有條不紊、分步驟解決問題或完成任務(wù)的方法。無論是簡單的數(shù)字相加公式,還是復(fù)雜的機器學(xué)習(xí)協(xié)議,算法都是軟件應(yīng)用的基礎(chǔ),確保任務(wù)能夠高效有效地執(zhí)行。

關(guān)鍵字: 算法 嵌入式

在自動駕駛技術(shù)的發(fā)展歷程中,激光雷達(LiDAR)宛如一顆備受矚目的新星,其獨特的技術(shù)特性使其成為追求高安全性、高可靠性自動駕駛方案的首選。然而,這顆新星并非毫無爭議,“價格昂貴、結(jié)構(gòu)復(fù)雜、算法難度高” 等標(biāo)簽,也讓一些...

關(guān)鍵字: 自動駕駛 激光雷達 算法

4月2日消息,近日,有關(guān)智能駕駛而引發(fā)的交通事故在網(wǎng)絡(luò)上引起了大家的熱烈討論,對此,央視網(wǎng)評指出,“智能駕駛”,也請握緊方向盤。

關(guān)鍵字: 算法 智能駕駛

所謂排序算法,即通過特定的算法因式將一組或多組數(shù)據(jù)按照既定模式進行重新排序。這種新序列遵循著一定的規(guī)則,體現(xiàn)出一定的規(guī)律,因此,經(jīng)處理后的數(shù)據(jù)便于篩選和計算,大大提高了計算效率。對于排序,我們首先要求其具有一定的穩(wěn)定性,...

關(guān)鍵字: 排序算法 算法

快速排序通過一趟排序?qū)⒋判蛄蟹指畛瑟毩⒌膬刹糠郑渲幸徊糠中蛄械年P(guān)鍵字均比另一部分序列的關(guān)鍵字小,則可分別對這兩部分序列繼續(xù)進行排序,以達到整個序列有序的目的。

關(guān)鍵字: 快速排序 算法

算法,作為解決問題的精確描述,是描述策略機制的系統(tǒng)方法。讓我們在周末輕松探討五個具有深遠影響的算法:Metropolis-Hastings算法、單純形法、快速傅立葉變換、快速排序算法,以及計算特征值的QR算法。這些算法在...

關(guān)鍵字: 算法 快速排序算法

服務(wù)需要保護自己,以免被太多的請求淹沒(無論是惡意或無意的),從而保持可用性。舉個生活中的例子,某個景區(qū),平時可能根本沒什么人前往,但是一旦到了國慶假日就人滿為患,這時景區(qū)管理人員就會實施一系列的限流舉措,來限制進入的人...

關(guān)鍵字: 限流 算法
關(guān)閉