不知道java排序算法,编程的基础功底了,没事干,准备写写排序算法,第一个用一下最简单排序算法的冒泡排序,
冒泡排序算法原理图解:数组 : 5 4 2 9 8 0 我们想进行一次冒泡排序使数组由小到大排列
冒泡排序,每次都从数组第一个数开始,和相邻的数开始比较大小,后面一个数比自己小,自己就和他交换位置,这时,第二位是前两个中最大的数,如果自己比第二位小,不交换,这时还是第二位是数组前两个位最大的,
第二位与第三比较,大了就交换,小了保持不变,这时第三位就是数组前三个中最大的。
接着依次比较,交换。直到数组最大的数上升到最后一位。第一次冒泡结束。
进行第二次冒泡。同样如上述过程,第二次冒泡结束,数组的次最大数上升到数组的倒数第二位。
同样进行冒泡操作,完成数组排序
数组 5 4 2 9 8 0 分步进行操作
第一次冒泡: 5 4 比较 数组成 4 5 2 9 8 0
5 2 比较 数组成 4 2 5 9 8 0
5 9 比较 数组成 4 2 5 9 8 0
9 8 比较 数组成 4 2 5 8 9 0
9 0 比较 数组成 4 2 5 8 0 9
第一次冒泡结束最大数 9 上升到最高位
第二次冒泡: 4 2 比较 数组成 2 4 5 8 0 9
4 5 比较 数组成 2 4 5 8 0 9
。。。。。。。。。。。
如此进行
java编程实现:
package ken.paixu;
public class MaoPao {
//冒泡排序
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a={5,4,2,9,8,0};
System.out.println(a.length);
for (int i = 0; i < a.length-1; i++) {
for (int j = 0; j < a.length-1-i; j++) {
int tmp;
if(a[j]>a[j+1]){
tmp=a[j+1];
a[j+1]=a[j];
a[j]=tmp;
}
}
}
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
}
}