1. 程式人生 > >曉蓮說-何不原創:java 實現二維數組冒泡排序

曉蓮說-何不原創:java 實現二維數組冒泡排序

java println 變量 冒泡排序 cnblogs 交換 public 自己 代碼

新手從業路-為自己回顧知識的同時,也希望和大家分享經驗:

話不多說,上代碼


public class 冒泡排序 {

/**
* @param admin
* @2017.12.4
*/
public static void main(String[] args) {
int[][] array=new int[10][3]; //新建一個二維數組

//對數組進行賦值(以日期為例)
array[0][0]=2015;array[0][1]=10;array[0][2]=23;
array[1][0]=2016;array[1][1]=8;array[1][2]=14;

array[2][0]=2017;array[2][1]=3;array[2][2]=7;
array[3][0]=2018;array[3][1]=12;array[3][2]=19;
array[4][0]=2017;array[4][1]=9;array[4][2]=25;
array[5][0]=2017;array[5][1]=6;array[5][2]=1;
array[6][0]=2017;array[6][1]=4;array[6][2]=3;
array[7][0]=2017;array[7][1]=4;array[7][2]=7;
array[8][0]=2019;array[8][1]=10;array[8][2]=6;
array[9][0]=2017;array[9][1]=12;array[9][2]=15;

int i, j, exchange; //聲明需要用到的變量,其中exchange相當於一個用於交換的容器

//利用冒泡排序原理對數據進行重新排列(日期最新的排在最前面)
for (i = array.length - 1; i >=1 ; i--) {
for (j = i; j <= array.length - 1; j++) {
if (array[j - 1][0] < array[j][0]) {
exchange = array[j][0]; array[j][0] = array[j - 1][0]; array[j - 1][0] = exchange; //更換順序
exchange = array[j][1]; array[j][1] = array[j - 1][1]; array[j - 1][1] = exchange; //更換順序
exchange = array[j][2]; array[j][2] = array[j - 1][2]; array[j - 1][2] = exchange; //更換順序

}else{
if (array[j - 1][0] == array[j][0] && array[j - 1][1] < array[j][1]){
exchange = array[j][0]; array[j][0] = array[j - 1][0]; array[j - 1][0] = exchange; //更換順序
exchange = array[j][1]; array[j][1] = array[j - 1][1]; array[j - 1][1] = exchange; //更換順序
exchange = array[j][2]; array[j][2] = array[j - 1][2]; array[j - 1][2] = exchange; //更換順序
}else{
if (array[j - 1][0] == array[j][0] && array[j - 1][1] == array[j][1] && array[j - 1][2] < array[j][2]){
exchange = array[j][0]; array[j][0] = array[j - 1][0]; array[j - 1][0] = exchange; //更換順序
exchange = array[j][1]; array[j][1] = array[j - 1][1]; array[j - 1][1] = exchange; //更換順序
exchange = array[j][2]; array[j][2] = array[j - 1][2]; array[j - 1][2] = exchange; //更換順序
}
}
}
}
}

//打印出來看看效果
for(i=0;i<array.length;i++){
System.out.println(array[i][0]+"年"+array[i][1]+"月"+array[i][2]+"日");
}
}
}

顯示的效果:
技術分享圖片

曉蓮說-何不原創:java 實現二維數組冒泡排序