常用的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)文章
C語(yǔ)言分別實(shí)現(xiàn)棧和隊(duì)列詳解流程
棧和隊(duì)列,嚴(yán)格意義上來(lái)說(shuō),也屬于線性表,因?yàn)樗鼈円捕加糜诖鎯?chǔ)邏輯關(guān)系為 "一對(duì)一" 的數(shù)據(jù),但由于它們比較特殊,因此將其單獨(dú)作為一章,做重點(diǎn)講解2022-04-04
C語(yǔ)言實(shí)現(xiàn)音樂(lè)播放器的示例代碼
這篇文章主要和大家分享了一個(gè)C語(yǔ)言的小DEMO,可以實(shí)現(xiàn)音樂(lè)播放器功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2023-02-02
在C++中關(guān)于友元函數(shù)的進(jìn)一步理解
今天小編就為大家分享一篇關(guān)于在C++中關(guān)于友元函數(shù)的進(jìn)一步理解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12
C++成員函數(shù)如何當(dāng)作回調(diào)函數(shù)同時(shí)傳遞this指針
這篇文章主要介紹了C++成員函數(shù)如何當(dāng)作回調(diào)函數(shù)同時(shí)傳遞this指針,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
Qt5.9實(shí)現(xiàn)簡(jiǎn)單的多線程實(shí)例(類QThread)
Qt開(kāi)啟多線程,主要用到類QThread。用一個(gè)類繼承QThread,然后重新改寫虛函數(shù)run()。具有一定的參考價(jià)值,感興趣的可以了解一下2021-09-09
Qt網(wǎng)絡(luò)編程實(shí)現(xiàn)TCP通信
這篇文章主要為大家詳細(xì)介紹了Qt網(wǎng)絡(luò)編程實(shí)現(xiàn)TCP通信,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08

