二维数组的排序

来源:互联网 发布:04年雅典吉诺比利数据 编辑:程序博客网 时间:2024/04/30 02:59

  1. import java.util.Arrays;
  2. public class T {
  3.     public static void main(String[] args) {
  4.         int[][] a = { { 9586 }, { 7581 }, { 3925 },
  5.                 { 4692 } };
  6.         int[] str = new int[4];
  7.         for (int j = 0; j < 4; j++) {
  8.             for (int i = 0; i < 4; i++) {
  9.                 str[i] = a[j][i];
  10.             }
  11.             Arrays.sort(str);
  12.             for (int i = 0; i < 4; i++) {
  13.                 a[j][i] = str[i];
  14.             }
  15.         }
  16.         for (int i = 0; i < 4; i++) {
  17.             for (int j = 0; j < 4; j++) {
  18.                 System.out.print(a[i][j] + ",   ");
  19.             }
  20.             System.out.print("/n");
  21.         }
  22.     }
  23. }//
代码有个致命的缺陷,只是每一维数组排序,下面贴正确的代码
  1. /**
  2.  * 2维数组的排序
  3.  * */
  4. public class T2 {
  5.     public static void main(String[] args) {
  6.         int[][] a = { { 9586 }, { 7581 }, { 3925 },
  7.                 { 4692 } };
  8.         int str = 0;
  9.         for (int b = 0; b < 19; b++) {
  10.             for (int j = 0; j < 4; j++) {
  11.                 for (int i = 0; i < 4; i++) {
  12.                     if (i == 3 && j < 3) {
  13.                         if (a[j][i] > a[j + 1][0]) {
  14.                             str = a[j][i];
  15.                             a[j][i] = a[j + 1][0];
  16.                             a[j + 1][0] = str;
  17.                         }
  18.                     } else if (i < 3) {
  19.                         if (a[j][i] > a[j][i + 1]) {
  20.                             str = a[j][i];
  21.                             a[j][i] = a[j][i + 1];
  22.                             a[j][i + 1] = str;
  23.                         }
  24.                     }
  25.                 }
  26.             }
  27.         }
  28.         for (int i = 0; i < 4; i++) {
  29.             for (int j = 0; j < 4; j++) {
  30.                 System.out.print(a[i][j] + ",  ");
  31.             }
  32.             System.out.print("/n");
  33.         }
  34.     }
  35. }

原创粉丝点击