一条 数据结构算法题 书中给的答案的疑问!
题目 :将顺序读入的三个整数 x, y ,z 按从大到小的顺序 输出 !
用冒泡法 是最好的方法吗?
习题集后面的提示是如下代码 : (这个算法是什么意思啊? )
void Descending()
{
int temp;
scanf (x,y,z);
if ( x < y )
{ temp =x;
x=y;
y=temp;} // 使x >=y;
if (y<z)
{
temp =z;
z=y; // 使 temp >z;
if (x>=temp)
y=temp;
else
{
y=x;
x=temp;
}
printf (x , y , z);
}
}
[解决办法]
冒泡的效率,相对来说,太低了,在n平方。
[解决办法]
三个数而已,用插入法也没什么,关键看你要快还是要省空间