|
沙發
樓主 |
發表于 2016-3-29 11:39:04
|
只看該作者
第二種:冒泡法排序2函數調用-地址傳遞
/*
將uchar niu[8]={1,28,8,4,100,79,89,11};
該算法用途:AD采樣時采樣20次,選一個中間值作為最終采樣的值,可以采取該算法。
采用冒泡法進行排序;(兩個for循環嵌套);
****************************************************
編程思路:用最后一個數與前一個數比較,若比前一個數小
則交換位置,然后再與前一個數比較,若比前一個數小再交換
位置,知道比前一個數大或者已經在最前面!如此循環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++) //設置循環次數為8
{
for(k=7;k>j;k--) //從最后一個數開始與前一個數比較
{
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]); //輸出排好的數列
}
printf("\n");
} |
|