do
{
swap=false;
for(int i=0; i<256; i++)
{
if(pd[i]<pd[i+1])
{
int temp=pd[i];
pd[i]=pd[i+1];
pd[i+1]=temp;
swap=true;
}
}
}
while(swap);
它只正确返回前两个结果,其余为 0。我正在对浮点数进行排序。
do
{
swap=false;
for(int i=0; i<256; i++)
{
if(pd[i]<pd[i+1])
{
int temp=pd[i];
pd[i]=pd[i+1];
pd[i+1]=temp;
swap=true;
}
}
}
while(swap);
它只正确返回前两个结果,其余为 0。我正在对浮点数进行排序。
我正在整理花车。
在这种情况下,temp
必须是类型float
:
float temp=pd[i];
否则,您每次进行交换时pd[i]
都会截断。int
此外,如果您的float
数组可能包含NaN,则在比较时需要格外小心。
temp
是 type int
,但你的数组是 type float
...