java 冒泡排序,帮我解释一下个别语句,谢谢!
来源:百度知道 编辑:UC知道 时间:2024/09/28 11:30:08
public class paixu {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a={31,2,5,7,17,1,33,40};
for(int i=0;i<a.length;i++){
for(int j=1;j<a.length-i;j++)
if(a[j-1]>a[j]){
int x=a[j-1];
a[j-1]=a[j];
a[j]=x;
}
}
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
}
这是整个程序,能帮我解释一下这些语句的意思,和为什么要加它吗,我是新手,有很多地方不太明白。
尤其是这三句
for(int i=0;i<a.length;i++)
for(int j=1;j<a.length-i;j++)
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
在这里先说声谢谢啦!
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a={31,2,5,7,17,1,33,40};
for(int i=0;i<a.length;i++){
for(int j=1;j<a.length-i;j++)
if(a[j-1]>a[j]){
int x=a[j-1];
a[j-1]=a[j];
a[j]=x;
}
}
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
}
这是整个程序,能帮我解释一下这些语句的意思,和为什么要加它吗,我是新手,有很多地方不太明白。
尤其是这三句
for(int i=0;i<a.length;i++)
for(int j=1;j<a.length-i;j++)
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
在这里先说声谢谢啦!
冒泡的性能很一般....
要循环N次
每次把最大的排在最后
for(int i=0;i<a.length;i++) 这个是寻找目标数,就是按顺序选择的
数
for(int j=1;j<a.length-i;j++) 这句是从未排的数中选一个和目标数比较,循环到目标数前一个
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
这句是输出语句......T.T没什么好说的
将FOR语句定义看清,自己学着慢慢分析。才能真正学到东西。