c++冒泡排序詳解
說(shuō)一說(shuō)冒泡排序
冒泡排序,作為最基本的排序算法,由于原理像冒泡一樣,所以取名為冒泡排序;
我們知道,水泡在上升時(shí),總是密度最小的最先上去,假如一個(gè)水層只能容納一個(gè)水泡,那么水泡由上到下的排序就是密度逐漸增大的排序。類(lèi)似的,我們可以實(shí)現(xiàn)一個(gè)相似的排序算法,冒泡排序。原理圖(在網(wǎng)上找的)

具體代碼:
#include <iostream>
#include <math.h>//待會(huì)會(huì)用到swap交換函數(shù)
using namespace std;
int main()
{
int a[5];
//輸入數(shù)據(jù)
for(int i=0;i<5;i++)
{
cin>>a[i];
}
//排序
for(int i=0;i<4;i++)
{
for(int j=0;j<4-i;j++)//將已經(jīng)升到最高位的剔除
{
if(a[j]>a[j+1])swap(a[j],a[j+1]);
}
}
//輸出數(shù)據(jù)
for(int i=0;i<5;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
相關(guān)文章
基于C語(yǔ)言實(shí)現(xiàn)創(chuàng)意多彩貪吃蛇游戲
這篇文章主要介紹了如何利用C語(yǔ)言實(shí)現(xiàn)一個(gè)創(chuàng)意多彩貪吃蛇游戲,這是一個(gè)純C語(yǔ)言外加easyx庫(kù)的繪圖函數(shù)制作而成的有趣小游戲,無(wú)需引入額外資源,感興趣的可以動(dòng)手嘗試一下2022-08-08
詳解C++的String類(lèi)的字符串分割實(shí)現(xiàn)
這篇文章主要介紹了詳解C++的String類(lèi)的字符串分割實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2017-07-07
C++?Qt開(kāi)發(fā)之使用QUdpSocket實(shí)現(xiàn)組播通信
Qt?是一個(gè)跨平臺(tái)C++圖形界面開(kāi)發(fā)庫(kù),利用Qt可以快速開(kāi)發(fā)跨平臺(tái)窗體應(yīng)用程序,本文將重點(diǎn)介紹如何運(yùn)用QUdpSocket組件實(shí)現(xiàn)基于UDP的組播通信,感興趣的可以了解下2024-03-03
C++使用異或運(yùn)算實(shí)現(xiàn)交換兩個(gè)數(shù)的值
交換兩個(gè)數(shù)的值,通常用利用一個(gè)變量來(lái)交換數(shù)值,異或交換兩個(gè)數(shù)的值是資源開(kāi)銷(xiāo)最小的方法,不需要中介數(shù),原理簡(jiǎn)單的來(lái)說(shuō)就是異或的負(fù)負(fù)得正2018-09-09
為什么要學(xué)習(xí)C語(yǔ)言 C語(yǔ)言?xún)?yōu)勢(shì)分析
不止一個(gè)學(xué)生問(wèn)到我:“老師,為什么我們的應(yīng)用程序設(shè)計(jì)要學(xué)C語(yǔ)言而不是別的?C語(yǔ)言不是已經(jīng)過(guò)時(shí)了嗎?如果現(xiàn)在要寫(xiě)一個(gè)Windows程序,用VB或Dephi開(kāi)發(fā)多快呀,用C行嗎?退一萬(wàn)步,為什么選擇C而不是C++呢?”2013-07-07
C語(yǔ)言實(shí)現(xiàn)獲取文件大小與創(chuàng)建修改時(shí)間
這篇文章主要為大家詳細(xì)介紹了如何通過(guò)C語(yǔ)言實(shí)現(xiàn)獲取文件大小、創(chuàng)建時(shí)間與修改時(shí)間,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11
C++使用動(dòng)態(tài)內(nèi)存分配的原因解說(shuō)
這篇文章主要介紹了C++使用動(dòng)態(tài)內(nèi)存分配的原因解說(shuō),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04

