分享一个对数组内乱序数值进行重排序的程序,花了我近四个小时才写出来,真的有点汗颜。
自己写的,有问题可以提出来讨论下,目前还想继续优化,并尝试新的逻辑进行编写。
unsigned int Data_Compare(unsigned int *port,int Len,unsigned int *str)
{
int i = 0;
int j = 0;
unsigned int temp[9] = {0};
unsigned int dat1 = 0;
unsigned int dat2 = 0;
for (i=0;i<Len;i++)
{
temp[i] = *port;
port++;
}
for(i=0;i<Len;i++)
{
dat1 = temp[i];
for(j=i+1;j<Len;j++){
dat2 = temp[j];
if(dat1>dat2){
temp[i] = dat2;
temp[j] = dat1;
dat1 = dat2;
}
}
}
for(i=0;i<Len;i++)
{
*str = temp[i];
str++;
}
}
唯一不明白的是函数设为空类型,在VS里就会报错,。。。。继续修改吧。