一个简单的java程序请教

来源:百度知道 编辑:UC知道 时间:2024/09/25 13:20:23
public class XzSort
{
public static void main(String args[])
{
int t[]=new int[1];
int [] s={20,34,12,32,25,62,12,52};
for(int n=0;n<s.length-1;n++)
for(int m=n+1;m<s.length;m++)
{
if(s[n]>s[m])
{
t[0]=s[n];
s[n]=s[m];
s[m]=t[0];
}//将大的数放在前面,小的数放在后面
}
for(int i=0;i<s.length;i++)
System.out.print(" "+s[i]);
}
}
那句将大的数放在前面,小的数放在后面
是如何进行比较的
请解释下 谢谢 ...
可以的话能否全部解释下......
if(s[n]>s[m])
数组如何进行比较 是比长度(length) 还是其他? 楼下看到的麻烦留个Q 以后好交流 谢谢

if(s[n]>s[m]) 如果s[n]值大于s[m])
{
t[0]=s[n]; 设置中间变量 t[0]把s[n]赋值给他 // 大的数
s[n]=s[m]; 把小 的数赋值给大的
s[m]=t[0]; 把s[n]刚刚得到的大的数给s[m]
}
其实就是 大小数互相换下位置。。

这是比较有名的算法,那就是冒泡算法,它是比较两个相连的数,如果前面比后面大,则两个数交换;如果前面比后面小,则用后面的一个数与其下一个数进行比较。
不是数组长度的比较,而是用length来确定数组的长度来控制循环的。
这个算法在C语言中有,你可以去看c语言书

if(s[n]>s[m]) 不是比长度,是比数组元素的大小