-2

我可以在谷歌找到答案,所以也许你可以给我一些建议。

任务是:

  1. 创建具有随机数字的多维数组 -完成
  2. 排序多维数组 -完成
  3. 排序多维数组(蛇) -未完成;

因此,例如:

我们有: 排序数组:

  • [5][2][4]
  • [1][3][6]
  • [9][7][8]

我们如何按蛇类型对其进行排序:

  • [1][2][3]
  • [4][5][6]
  • [7][8][9]

有两个 DONE 任务的代码:

public class Snake {

public static void main(String[] args) {

int line = 3;
int column = 3;

new Snake().sort(line, column);

}

Random rnd;

public void sort(int line, int column) {
rnd = new Random();
int temp = 0;
int[][] arr = new int[line][column];
System.out.println("Unsorted array:");
for (int i = 0; i < line; i++) {
    for (int j = 0; j < column; j++) {
    arr[i][j] = rnd.nextInt(50) + 1;
    System.out.print("[" + arr[i][j] + "]");

    }
    System.out.println();
}

for (int i = 0; i < line; i++) {
    for (int j = 0; j < column; j++) {
    for (int k = 0; k < column - 1; k++) {
        if (arr[j][k] > arr[j][k + 1]) {
        temp = arr[j][k];
        arr[j][k] = arr[j][k + 1];
        arr[j][k + 1] = temp;
        }
    }
    }
}

System.out.println("Sorted array:");
for (int i = 0; i < line; i++) {
    for (int j = 0; j < column; j++) {
    System.out.print("[" + arr[i][j] + "]");
    }
    System.out.println();

}

}

}

4

1 回答 1

0

您可以使用一些类似 ShearSort 的算法或ShearSort本身

更多关于:

http://my.safaribooksonline.com/book/web-development/ruby/9781593271824/sorting-algorithms/shear_sort

http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/twodim/shear/shearsorten.htm

于 2013-05-10T14:11:33.193 回答