|
第二種:冒泡法排序2函數(shù)調(diào)用-地址傳遞
/*
將uchar niu[8]={1,28,8,4,100,79,89,11};
該算法用途:AD采樣時采樣20次,選一個中間值作為最終采樣的值,可以采取該算法。
采用冒泡法進行排序;(兩個for循環(huán)嵌套);
****************************************************
編程思路:用最后一個數(shù)與前一個數(shù)比較,若比前一個數(shù)小
則交換位置,然后再與前一個數(shù)比較,若比前一個數(shù)小再交換
位置,知道比前一個數(shù)大或者已經(jīng)在最前面!如此循環(huán)8次就可以排好循序!
*/
#include
#define uchar unsigned char
uchar a,b,c,j,k;
uchar nsd[8]={8,28,6,4,100,79,102,11};
uchar maopao(uchar niu[8]);
uchar maopao(uchar niu[8])
{
for(j=0;j<8;j++) //設(shè)置循環(huán)次數(shù)為8
{
for(k=7;k>j;k--) //從最后一個數(shù)開始與前一個數(shù)比較
{
if(niu[k]
{
c=niu[k-1];
niu[k-1]=niu[k];
niu[k]=c;
}
}
}
return 0;//這條可以不要,空的
}
void main()
{
maopao(nsd);
for(j=0;j<8;j++)
{
printf("%d\t",nsd[j]); //輸出排好的數(shù)列
}
printf("\n");
} |
|