java排序之冒泡排序( 二 )


import java.util.Arrays;


public class Test {


public static void arraySort(int[] arr) {
int temp;// 界说一个姑且变量
for (int i = 0; i < arr.length - 1; i++) {// 冒泡趟数 , n-1趟
boolean flag = true;
for (int j = 0; j < arr.length - i - 1; j++) {
if (arr[j + 1] < arr[j]) {
flag = false;
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;


}
}


// 若是当轮没有发生位置转变 , 申明已经排序完毕 , 就没有需要再进行轮回了
if (flag) {
break;
}
}
}


public static void main(String[] args) {
int arr[] = new int[] { 2, 4, 9, 7, 6, 5 };
arraySort(arr);
System.out.println(Arrays.toString(arr));
}
}

java排序之冒泡排序

文章插图

第二步:实体对象的冒泡排序 。 1前面我们说了一下简单的根基数据类型的排序 。 下面我们解决一个实体的多前提排序 。
插手有一个圆柱实体类:Column 此刻我们需要按照其半径radius从小到大排序 , 若是半径一致 , 则按照高h从小到大排序 。

2实体类:Column 


public class Column implements Comparable<Object> {
private int radius;
private int h;


public Column() {
};


public Column(int radius, int h) {
this.radius = radius;
this.h = h;
};


@Override
public String toString() {
return "Column{" + "radius=" + radius + ", h=" + h + '}';
}


@Override
public int compareTo(Object o) {
return 0;
}


public int getRadius() {
return radius;
}


public void setRadius(int radius) {
this.radius = radius;
}


public int getH() {
return h;
}


public void setH(int h) {
this.h = h;
}
}

java排序之冒泡排序

文章插图

3测试类如下:
public class ColumnTest {
public static void main(String[] args) {
Column co1 = new Column(5, 3);
Column co2 = new Column(2, 4);
Column co3 = new Column(4, 3);
Column co4 = new Column(2, 3);
Column co5 = new Column(4, 6);
Column[] arry = { co1, co2, co3, co4, co5 };
testArraySort(arry);
}


private static void testArraySort(Column[] arry) {
Column cnj;
// 利用冒泡排序
for (int i = 0; i < arry.length - 1; i++) {
for (int j = 0; j < arry.length - 1 - i; j++) {
cnj = arry[j];
if (arry[j + 1].getRadius() < cnj.getRadius()
|| (cnj.getRadius() == arry[j + 1].getRadius() && arry[j + 1].getH() < cnj.getH())) {
arry[j] = arry[j + 1];
arry[j + 1] = cnj;
}
}
}
// 打印输出
for (int i = 0; i < arry.length; i++) {
System.out.print("(" + arry[i].getRadius() + "," + arry[i].getH() + ") ");
}
}


}

java排序之冒泡排序

文章插图

4效率晋升利用优化后的体例:
package com.sgg.test;

推荐阅读