排序有挺多方法的,例如:冒泡排序法、選擇排序法
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括涵江網(wǎng)站建設(shè)、涵江網(wǎng)站制作、涵江網(wǎng)頁制作以及涵江網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,涵江網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到涵江省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
以下使用選擇排序
#include?stdio.h
void?fun(int?a[],?int?n)
{
int?i,j,k,tmp;
for(i=0;in-1;?i++)
{
k=i;
for(j=i+1;jn;++j)
if(a[j]a[k])?k=j;
if(k!=i)
{
tmp=a[k];a[k]=a[i];a[i]=tmp;
}
}
}
int?main()
{
int?a[10];
int?i;
for(i=0;?i10;?i++)?scanf("%d",?a[i]);
fun(a,10);
for(i=0;?i10;?i++)?printf("%d\n",?a[i]);
printf("第二大的數(shù)是:%d",a[1]);
return?0;
}
#include "stdio.h"
#define MAX 10
void sort(int *p,int n)
{int i,j;
int temp; //記錄每一輪比較中最大值
int maxindex; //記錄每一輪比較中最大值的下標(biāo)
for (i=0;in;i++)
{
temp=p[i];
maxindex=i;
for (j=i+1;jn;j++)
if (tempp[j]) {temp=p[j];maxindex=j;}
if(maxindex!=i){p[maxindex]=p[i];p[i]=temp;}
}
}
/*
void sort(int *p)
{int i,j,k;
for (i=0;i9;i++)
for (j=i+1;j10;j++)
if (p[i]p[j]) {k=p[i];p[i]=p[j];p[j]=k;}
這個是簡單選擇排序,但是執(zhí)行效率沒有上面的高。不過對于比較小的基數(shù),還是看不出來效率的優(yōu)劣,如果在基數(shù)上百萬時,效率高的執(zhí)行時間將節(jié)省不少。
*/
main()
{
int a[MAX],i;
for (i=0;iMAX;i++)
scanf("%d",a[i]);
sort(a,MAX);
for(i=0;iMAX;i++)
printf("%d ,",a[i]);
}
#include "stdio.h"
void select_sort(int a[],int n)
{
int i,j,k,temp;
for(i=0;in-1;i++)
{
k=i;
for(j=i+1;jn;j++)
{
if(a[j]a[k])//將這里改成a[j]a[k]就是按升序排序
{
k=j;
temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
}
}//定義選擇排序函數(shù)
int main()
{
int i;
int a[8];
printf("Please input 8 nubmers:\n");
for(i=0;i8;i++)
{
scanf("%d",a[i]);
}//從鍵盤讀入8個整數(shù)
printf("The 8 numbers you input is:\n");
for(i=0;i8;i++)
{
printf("%d ",a[i]);
}
printf("\n");
select_sort(a,8);//調(diào)用選擇排序函數(shù)
printf("The sorted numbers is\n");
for(i=0;i8;i++)
{
printf("%d ",a[i]);
}//對排好序的數(shù)組進(jìn)行輸出
printf("\n");
getchar();
}
在scanf("%c\n",style);前加 char c; scanf("%c",c);
原因:前面輸入數(shù)字時有輸入回車 scanf把這個回車賦給了style 所以 要把先那個回車吃了
#includestdio.h
void?Sort(int?*a,int?n)?{
int?*p,*q,*v,t;
for(p?=?a;p??a?+?n?-?1;++p)?{
v?=?p;
for(q?=?p?+?1;?q??a?+?n;?++q)
if(*v??*q)?v?=?q;
if(*p?!=?*v)?{
t?=?*p;
*p?=?*v;
*v?=?t;
}
}
}
void?Show(int?*a,int?n)?{
int?i;
for(i?=?0;?i??n;?++i)
printf("%d?",*(a?+?i));
printf("\n");
}
int?main()?{
int?a[]?=?{23,12,54,89,66,59,57,48,91,20,31};
int?n?=?sizeof(a)/sizeof(a[0]);
printf("排序前:\n");
Show(a,n);
printf("排序后:\n");
Sort(a,n);
Show(a,n);
return?0;
}
#include?stdio.h
void?sort1(int?a[],int?n)
{int?i,j,t;
for(i=0;in-1;i++)
for(j=0;jn-1-i;j++)
if(a[j]a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
void?sort2(int?a[],int?n)
{int?i,j,t;
for(i=0;in-1;i++)
for(j=0;jn-1-i;j++)
if(a[j]a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
int?main()
{int?i,a[10];
for(i=0;i10;i++)
scanf("%d",a[i]);
printf("\n");
sort1(a,10);??
for(i=0;i10;i++)
printf("%d?",a[i]);
printf("\n\n");
sort2(a,10);??
for(i=0;i10;i++)
printf("%d?",a[i]);
printf("\n");
return?0;
}
當(dāng)前題目:c語言定義函數(shù)降序排列 c語言中降序排列
網(wǎng)頁地址:http://chinadenli.net/article38/hpidpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、域名注冊、靜態(tài)網(wǎng)站、響應(yīng)式網(wǎng)站、微信公眾號、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)