C語(yǔ)言每日練習(xí)之冒泡排序
分析
冒泡排序(Bubble Sort),是一種計(jì)算機(jī)科學(xué)領(lǐng)域的較簡(jiǎn)單的排序算法。
冒泡排序(這里只討論從小到大排序)可以通過(guò)二種方式實(shí)現(xiàn),分別是將最小值依次移動(dòng)到頭部和將最大值依次移動(dòng)到尾部。
代碼實(shí)現(xiàn)
代碼采用從數(shù)組頭部輪詢的方式:
#include <stdio.h>
#define INTEGER_RANGE 10 //數(shù)字范圍
void bubule_sort(int *array, int len);
int main()
{
int i = 0;
int array[INTEGER_RANGE] = {0};
printf("請(qǐng)輸入10個(gè)數(shù)\n");
for(i = 0; i < INTEGER_RANGE; i++)
scanf("%d", array + i);
bubule_sort(array, INTEGER_RANGE);
printf("排序后:\n");
for(i = 0; i < INTEGER_RANGE; i++)
printf("%d ", array[i]);
printf("\n");
return 0;
}
/**
* @brief 冒泡排序
* @param array:數(shù)組 len:數(shù)組長(zhǎng)度
* @return 空
*/
void bubule_sort(int *array, int len)
{
int i = 0;
int j = 0;
int tmp = 0;
for(i = 0; i < len - 1; i++)
{
for(j = 0; j < len -1 - i; j++)
{
if(array[j] > array[j + 1])
{
tmp = array[j];
array[j] = array[j + 1];
array[j + 1] = tmp;
}
}
}
}
運(yùn)行結(jié)果

總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C++求四個(gè)正整數(shù)最大公約數(shù)的方法
這篇文章主要介紹了C++求四個(gè)正整數(shù)最大公約數(shù)的方法,涉及C++求余算法的運(yùn)用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-05-05
C語(yǔ)言中的字符型數(shù)據(jù)與ASCII碼表
這篇文章主要介紹了C語(yǔ)言中的字符型數(shù)據(jù)與ASCII碼表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
C語(yǔ)言中快速排序和插入排序優(yōu)化的實(shí)現(xiàn)
這篇文章主要介紹了C語(yǔ)言中快速排序和插入排序優(yōu)化的實(shí)現(xiàn),包括雙向劃分快速排序方法的介紹,需要的朋友可以參考下2015-11-11
C語(yǔ)言中帶頭雙向循環(huán)鏈表基本操作的實(shí)現(xiàn)詳解
無(wú)頭單向非循環(huán)鏈表結(jié)構(gòu)簡(jiǎn)單,一般不會(huì)單獨(dú)用來(lái)存數(shù)據(jù)。而帶頭雙向循環(huán)鏈表的結(jié)構(gòu)較為復(fù)雜,一般用在單獨(dú)存儲(chǔ)數(shù)據(jù)。本文將介紹帶頭雙向循環(huán)鏈表的基本操作,需要的可以參考一下2022-11-11
C++修煉之構(gòu)造函數(shù)與析構(gòu)函數(shù)
本章節(jié)我們將學(xué)習(xí)類的6個(gè)默認(rèn)成員函數(shù)中的構(gòu)造函數(shù)與析構(gòu)函數(shù),并對(duì)比C語(yǔ)言階段的內(nèi)容來(lái)學(xué)習(xí)它們的各自的特性,感興趣的同學(xué)可以參考閱讀2023-03-03

