赞
踩
- public void dAM1() {
- int[] a[] = {
- { 12, 26, 89, 78, 45, 65, 36 },
- { 2, 6, 90, 34, 16, 27, 5 },
- { 13, 3, 4, 29, 33, 37, 17 },
- { 1, 9, 19, 49, 57, 22, 11 },
- { 7, 82, 35, 21, 24, 59, 60 } };
- for (int i = 0; i < a.length; i++) { // 二维数组的长度
- for (int j = 0; j < a[i].length; j++) { // 每个一维数组的长度
- int n = j + 1;
- for (int m = i; m < a.length; m++) {
- for (; n < a[i].length; n++) {
- if (a[i][j] < a[m][n]) {
- int max = a[m][n];
- a[m][n] = a[i][j];
- a[i][j] = max;
- }
- }
- n = 0; // 此处是给n从第二个一维数组开始取0这个坐标
- }
- }
- }
- for (int i = 0; i < a.length; i++) {
- for (int j = 0; j < a[i].length; j++) {
- System.out.print(a[i][j] + " ");
- }
- System.out.println();
- }
- }
-
- // 二维数组全部排序
- public void dAM2() {
- int[][] a = {
- { 12, 26, 89, 78, 45, 65, 36 },
- { 2, 6, 90, 34, 16, 27, 5 },
- { 13, 3, 4, 29, 33, 37, 17 },
- { 1, 9, 19, 49, 57, 22, 11 },
- { 7, 82, 35, 21, 24, 59, 60 } };
- int b[] = new int[35]; // new一个一维数组,数组长度与二维数组a的所有元素个数是一样的
- for (int i = 0; i < a.length; i++) { // 二维数组长度
- for (int j = 0; j < a[i].length; j++) { // 一维数组的长度
- b[j + i * (a[i].length)] = a[i][j]; // 将俩维数组赋值给一维数组,注意坐标的计算
- }
- }
- for (int i = 0; i < b.length; i++) { // 对一维数组进行选择排序
- for (int j = 0; j < b.length - 1; j++) {
- if (b[j] < b[j + 1]) {
- int t = b[j];
- b[j] = b[j + 1];
- b[j + 1] = t;
- }
- }
- }
- for (int i = 0; i < a.length; i++) { // 再将排完序的一维数组赋值给俩维数组,注意坐标的计算
- for (int j = 0; j < a[i].length; j++) {
- a[i][j] = b[j + i * (a[i].length)];
- }
-
- }
-
- for (int i = 0; i < a.length; i++) {
- for (int j = 0; j < a[i].length; j++) {
- System.out.print(a[i][j] + "\t");
- }
- System.out.println();
- }
- }
-
- // 二维数组全部排序
- public void dAM3() {
- int[][] b = {
- { 12, 26, 89, 78, 45, 65, 36 },
- { 2, 6, 90, 34, 16, 27, 5 },
- { 13, 3, 4, 29, 33, 37, 17 },
- { 1, 9, 19, 49, 57, 22, 11 },
- { 7, 82, 35, 21, 24, 59, 60 } };
- for (int w = 0; w < b.length; w++) { // 二维数组的长度
- for (int t = 0; t < b[w].length; t++) { // 一维数组的长度
- for (int i = 0; i < b.length; i++) { // 二维数组的长度
- for (int j = 0; j < b[w].length; j++) { // 一维数组的长度
- if (b[w][t] > b[i][j]) { // 套在for循环里,俩个一模一样的数组进行比较
- int max = 0;
- max = b[i][j];
- b[i][j] = b[w][t];
- b[w][t] = max;
- }
- }
- }
- }
- }
- for (int i = 0; i < b.length; i++) {
- for (int j = 0; j < b[i].length; j++) {
- System.out.print(b[i][j] + " ");
- }
- System.out.println();
- }
- }
-
- // 方法四:是对每个单独的数组进行由小到大排序
- public void dAM4() { // 对单个的一维数组进行排序
- int[][] a = {
- { 12, 26, 89, 78, 45, 65, 36 },
- { 2, 6, 90, 34, 16, 27, 5 },
- { 13, 3, 4, 29, 33, 37, 17 },
- { 1, 9, 19, 49, 57, 22, 11 },
- { 7, 82, 35, 21, 24, 59, 60 } };
- for (int k = 0; k < a.length; k++) { // 直接调用数组arrays里的sort()这个方法对里边的一维数组进行排序
- Arrays.sort(a[k]);
- }
- for (int i = 0; i < a.length; i++) {
- for (int j = 0; j < a[i].length; j++) {
- System.out.print(a[i][j] + " ");
- }
- System.out.println();
- }
-
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。