經常使用的C說話排序算法(兩種)。本站提示廣大學習愛好者:(經常使用的C說話排序算法(兩種))文章只能為提供參考,不一定能成為您想要的結果。以下是經常使用的C說話排序算法(兩種)正文
1.
請求輸出10個整數,從年夜到小排序輸入
輸出:2 0 3 -4 8 9 5 1 7 6
輸入:9 8 7 6 5 3 2 1 0 -4
處理辦法:選擇排序法
完成代碼以下:
#include <stdio.h>
int main(int argc, const char * argv[]) {
int num[10],i,j,k,l,temp;
//用一個數組保留輸出的數據
for(i=0;i<=9;i++)
{
scanf("%d",&num[i]);
}
//用兩個for嵌套輪回來停止數據年夜小比擬停止排序
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;
}
}
}
//用一個for輪回來輸入數組中排序好的數據
for(l=0;l<=9;l++)
{
printf("%d ",num[l]);
}
return 0;
}
2.
請求輸出10個整數,從年夜到小排序輸入
輸出:2 0 3 -4 8 9 5 1 7 6
輸入:9 8 7 6 5 3 2 1 0 -4
處理辦法:冒泡排序法
完成代碼以下:
#include <stdio.h>
int main(int argc, const char * argv[]) {
//用一個數組來存數據
int num[10],i,j,k,l,temp;
//用for來把數據一個一個讀取出去
for(i=0;i<=9;i++)
{
scanf("%d",&num[i]);
}
//用兩次層for輪回來比擬數據,停止冒泡
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;
}
}
}
//用一個for輪回來輸入數組中排序好的數據
for(l=0;l<=9;l++)
{
printf("%d ",num[l]);
}
return 0;
}
以上所述是小編給年夜家引見的經常使用的C說話排序算法,願望對年夜家有所贊助,假如年夜家有任何疑問請給我留言,小編會實時答復年夜家的。在此也異常感激年夜家對網站的支撐!