【菜鸟算法之冒泡排序】

【菜鸟算法之冒泡排序】
刚刚入算法的“坑”,学习排序那是必不可少滴@-@
来个例子~~
`

package yks;

import java.util.*;

public class maopaopaixujiangxu {
public static void main(String [] args) {
Scanner in = new Scanner(System.in);//这里就不多说了*-*
int n = in.nextInt();
int a[] = new int [n];
for (int i = 0;i < n;i++) {
a[i] = in.nextInt(); //将数字存到a[]数组里
}
for (int i = 0;i < n-1;i++) { //"n-1"就是有n个数字比较n-1次就好了
for(int j = 0; j< n-i-1;j++) { //“n-i-1"当i = 0时比较n-1把最大的转移到数组的最左边(也就是a[0]的位置),最大 值转移完后就不需要再和它比较了此时第二个for循环执行完一次了回到第一个 for循环,此时执行i++也就意味着第二个for循环的比较次数减一
if(a[j]<a[j+1]) {
int t = a[j+1]; //找一个中间变量把较大的值附到t上,如果直接交换值会把值附乱。
a[j+1] = a[j];
a[j] = t;
}
}
}
for(int i = 0;i < n;i++) { //数组的数字已经经过排序
System.out.print(a[i]+” "); //将数组的数逐一输出并加空格加以区分
} //此代码为降序将数组,若想升序则将“<”改为“>”。
} //总结:四个for循环一个if判断

}
`

猜你喜欢

转载自blog.csdn.net/qq_39034533/article/details/84453968