常用的C語(yǔ)言排序算法(兩種)
1.
要求輸入10個(gè)整數(shù),從大到小排序輸出
輸入:2 0 3 -4 8 9 5 1 7 6
輸出:9 8 7 6 5 3 2 1 0 -4
解決方法:選擇排序法
實(shí)現(xiàn)代碼如下:
#include <stdio.h> int main(int argc, const char * argv[]) { int num[10],i,j,k,l,temp; //用一個(gè)數(shù)組保存輸入的數(shù)據(jù) for(i=0;i<=9;i++) { scanf("%d",&num[i]); } //用兩個(gè)for嵌套循環(huán)來(lái)進(jìn)行數(shù)據(jù)大小比較進(jìn)行排序 for(j=0;j<9;j++) { for(k=j+1;k<=9;k++) { if(num[j]<num[k]) //num[j]<num[k] { temp=num[j]; num[j]=num[k]; num[k]=temp; } } } //用一個(gè)for循環(huán)來(lái)輸出數(shù)組中排序好的數(shù)據(jù) for(l=0;l<=9;l++) { printf("%d ",num[l]); } return 0; }
2.
要求輸入10個(gè)整數(shù),從大到小排序輸出
輸入:2 0 3 -4 8 9 5 1 7 6
輸出:9 8 7 6 5 3 2 1 0 -4
解決方法:冒泡排序法
實(shí)現(xiàn)代碼如下:
#include <stdio.h> int main(int argc, const char * argv[]) { //用一個(gè)數(shù)組來(lái)存數(shù)據(jù) int num[10],i,j,k,l,temp; //用for來(lái)把數(shù)據(jù)一個(gè)一個(gè)讀取進(jìn)來(lái) for(i=0;i<=9;i++) { scanf("%d",&num[i]); } //用兩次層for循環(huán)來(lái)比較數(shù)據(jù),進(jìn)行冒泡 for(j=0;j<9;j++) { for(k=0;k<9-j;k++) { if(num[k]<num[k+1]) //num[k]<num[k+1] { temp=num[k]; num[k]=num[k+1]; num[k+1]=temp; } } } //用一個(gè)for循環(huán)來(lái)輸出數(shù)組中排序好的數(shù)據(jù) for(l=0;l<=9;l++) { printf("%d ",num[l]); } return 0; }
以上所述是小編給大家介紹的常用的C語(yǔ)言排序算法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
QT通過(guò)C++線程池運(yùn)行Lambda自定義函數(shù)流程詳解
最近在接觸公司的一個(gè)QT桌面項(xiàng)目,其中里面有一個(gè)模塊是使用線程池去運(yùn)行自定義函數(shù)的,自己潛心研究那個(gè)線程池代碼一天,發(fā)現(xiàn)研究不透,看不懂,里面幾乎都是使用C++11的新特性進(jìn)行編寫(xiě)2022-10-10詳解C++字符串常用操作函數(shù)(查找、插入、截取、刪除等)
這篇文章主要介紹了C++字符串常用操作函數(shù)(查找、插入、截取、刪除等),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01c語(yǔ)言中回調(diào)函數(shù)的使用以及實(shí)際作用詳析
回調(diào)函數(shù)就是一個(gè)通過(guò)函數(shù)指針調(diào)用的函數(shù),如果你把函數(shù)的指針(地址)作為參數(shù)傳遞給另一個(gè)函數(shù),當(dāng)這個(gè)指針被用來(lái)調(diào)用其所指向的函數(shù)時(shí),我們就說(shuō)這是回調(diào)函數(shù),這篇文章主要給大家介紹了關(guān)于c語(yǔ)言中回調(diào)函數(shù)的使用以及實(shí)際作用的相關(guān)資料,需要的朋友可以參考下2021-07-07C語(yǔ)言實(shí)現(xiàn)單詞小助手功能完善版
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)單詞小助手功能的完善版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10C++隱式類(lèi)型轉(zhuǎn)換運(yùn)算符operator type()用法詳解
這篇文章主要介紹了C++隱式類(lèi)型轉(zhuǎn)換運(yùn)算符operator type()用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06rapidjson解析json代碼實(shí)例以及常見(jiàn)的json core dump問(wèn)題
今天小編就為大家分享一篇關(guān)于rapidjson解析json代碼實(shí)例以及常見(jiàn)的json core dump問(wèn)題,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-04-04