日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

冒泡排序(c++)

發布時間:2024/7/23 c/c++ 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 冒泡排序(c++) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

冒泡排序(Bubble Sort)
是一種計算機科學領域的較簡單的排序算法。
它重復地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從Z到A)錯誤就把他們交換過來。走訪元素的工作是重復地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。
這個算法的名字由來是因為越小的元素會經由交換慢慢“浮”到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名“冒泡排序”。

#include<iostream> using namespace std; void bubble_sort(int* a,int n) {for (int i = 0; i < n-1; i++)//輪數{for (int j = 0; j < n - i - 1; j++)//每輪進行比較的次數{if (a[j] > a[j + 1]){swap(a[j], a[j + 1]);}}} } void main() {int a[10]{ 3,6,4,2,11,10,5 };bubble_sort(a, 7);for (int i = 0; i < 7; i++){cout << a[i]<<" ";} }

當然,冒泡排序也可以進一步優化

#include<iostream> using namespace std; void bubble_sort(int* a,int n) {for (int i = 0; i < n-1; i++)//輪數{int flag = 0;//記錄是否進行交換的標志位for (int j = 0; j < n - i - 1; j++)//每輪進行比較的次數{if (a[j] > a[j + 1]){swap(a[j], a[j + 1]);flag = 1;}}if (flag == 0)//如果一輪沒有交換,則說明該序列已經是升序{break;}} } void main() {int a[10]{ 3,6,4,2,11,10,5 };bubble_sort(a, 7);for (int i = 0; i < 7; i++){cout << a[i]<<" ";} }

總結

以上是生活随笔為你收集整理的冒泡排序(c++)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。