c++冒泡排序代码_C/C++基础之冒泡排序
排序算法作為編程語言中最基礎的算法,在很多高級語言中系統都封裝了sort方法,并提供自定義比較方法排序。但是,這背后是怎么實現的你真的知道嗎?接下來幾篇就給大家講一講C/C++里面最基礎的集中數組排序方法實現吧。
冒泡排序
冒泡排序:顧名思義就是向氣泡冒出來一樣,誰大誰出來,在數組排序里就是誰大誰往后走。就像當初老師給我們排隊的時候一樣,按身高將一個最高個從前挨個比一直往后排
假設現在有一個數組{50,26,74,60,12,1,100}冒泡排序算法是怎么做的呢?
前一個跟后一個去比較大小,如果前一個比后一個大,則前面的跟后面的交換位置,再繼續往后比,知道數組結束。我們看代碼實現:
我們看運行結果:
排序成功。這里需要注意的一點就是第二個循環位置的循環條件for (int j = 0; j < sizeof(arr)/sizeof(int)-1-i; j++)這里一定要注意每比較完一趟后,后面的數已經是最大的了,已經排好了,再進行下一趟的時候我們就不需要再去跟它們比較了。并且由于比較里面已經取了j+1這個下標一定記得在循環條件里減1,不然就會越界
附上原代碼:
#include
#include
using namespace std;
int main()
{
int arr[7] = {50,26,74,60,12,1,100};
//這個循環式控制比較趟數,每趟都需要找出來一個最大的(除了已經排好的)
for (int i = 0; i < sizeof(arr)/sizeof(int)-1; i++)
{
//這個循環就是我在圖示中表示的過程,最大的從前往后滾
for (int j = 0; j < sizeof(arr)/sizeof(int)-1-i; j++)
{
if(arr[j]>arr[j+1])
{
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp ;
}
}
}
//我們來輸出一下看看排序成功沒
for (int i = 0; i < sizeof(arr)/sizeof(int); i++)
{
cout<
}
system("pause");
return 0 ;
}
總結
以上是生活随笔為你收集整理的c++冒泡排序代码_C/C++基础之冒泡排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js最小化浏览器_Handtrack.j
- 下一篇: 安装python3.8.0步骤_pyth