//冒泡排序,升序
public static int[] sort(int[] a){
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < (a.length-i-1); j++) {
if(a[j]>a[j+1]){
int temp=a[j+1];//交换位置
a[j+1]=a[j];
a[j]=temp;
}
}
}
return a;
}
//二维数组的冒泡排序,升序
public static int[][] sortTwo(int[][] a){
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < (a.length-i-1); j++) {
if(a[j][0]>a[j+1][0]){
int[] temp=a[j+1];//交换位置
a[j+1]=a[j];
a[j]=temp;
}else if(a[j][0]==a[j+1][0]){
if(a[j][1]>a[j+1][1]){
int[] temp=a[j+1];//交换位置
a[j+1]=a[j];
a[j]=temp;
}
}
}
}
return a;
}
测试:
public static void main(String[] args) {
int[] a={3,5,9,1,4};
System.out.println("int[] a的冒泡排序:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
System.out.println();
sort(a);
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
System.out.println();
int[][] aa={{3,2},{5,4},{9,0},{1,5},{4,7},{5,3}};
System.out.println("int[][] aa的冒泡排序:");
for (int i = 0; i < aa.length; i++) {
System.out.println(aa[i][0]+" "+aa[i][1]);
}
sortTwo(aa);
System.out.println();
for (int i = 0; i < aa.length; i++) {
System.out.println(aa[i][0]+" "+aa[i][1]);
}
}
运行结果
int[] a的冒泡排序:
3 5 9 1 4
1 3 4 5 9
int[][] aa的冒泡排序:
3 2
5 4
9 0
1 5
4 7
5 3
1 5
3 2
4 7
5 3
5 4
9 0