c++冒泡排序詳解
說一說冒泡排序
冒泡排序,作為最基本的排序算法,由于原理像冒泡一樣,所以取名為冒泡排序;
我們知道,水泡在上升時(shí),總是密度最小的最先上去,假如一個(gè)水層只能容納一個(gè)水泡,那么水泡由上到下的排序就是密度逐漸增大的排序。類似的,我們可以實(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語言實(shí)現(xiàn)創(chuàng)意多彩貪吃蛇游戲
這篇文章主要介紹了如何利用C語言實(shí)現(xiàn)一個(gè)創(chuàng)意多彩貪吃蛇游戲,這是一個(gè)純C語言外加easyx庫的繪圖函數(shù)制作而成的有趣小游戲,無需引入額外資源,感興趣的可以動(dòng)手嘗試一下2022-08-08詳解C++的String類的字符串分割實(shí)現(xiàn)
這篇文章主要介紹了詳解C++的String類的字符串分割實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2017-07-07C++?Qt開發(fā)之使用QUdpSocket實(shí)現(xiàn)組播通信
Qt?是一個(gè)跨平臺(tái)C++圖形界面開發(fā)庫,利用Qt可以快速開發(fā)跨平臺(tái)窗體應(yīng)用程序,本文將重點(diǎn)介紹如何運(yùn)用QUdpSocket組件實(shí)現(xiàn)基于UDP的組播通信,感興趣的可以了解下2024-03-03C++使用異或運(yùn)算實(shí)現(xiàn)交換兩個(gè)數(shù)的值
交換兩個(gè)數(shù)的值,通常用利用一個(gè)變量來交換數(shù)值,異或交換兩個(gè)數(shù)的值是資源開銷最小的方法,不需要中介數(shù),原理簡(jiǎn)單的來說就是異或的負(fù)負(fù)得正2018-09-09為什么要學(xué)習(xí)C語言 C語言優(yōu)勢(shì)分析
不止一個(gè)學(xué)生問到我:“老師,為什么我們的應(yīng)用程序設(shè)計(jì)要學(xué)C語言而不是別的?C語言不是已經(jīng)過時(shí)了嗎?如果現(xiàn)在要寫一個(gè)Windows程序,用VB或Dephi開發(fā)多快呀,用C行嗎?退一萬步,為什么選擇C而不是C++呢?”2013-07-07C語言實(shí)現(xiàn)獲取文件大小與創(chuàng)建修改時(shí)間
這篇文章主要為大家詳細(xì)介紹了如何通過C語言實(shí)現(xiàn)獲取文件大小、創(chuàng)建時(shí)間與修改時(shí)間,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11C++使用動(dòng)態(tài)內(nèi)存分配的原因解說
這篇文章主要介紹了C++使用動(dòng)態(tài)內(nèi)存分配的原因解說,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04