class arrayDemo {
static void sort2D(int[][] B) {
boolean swap = true;
int oy=0;
int temp=0;
for(int ox=0;ox<B.length;ox++){
while(oy<B[ox].length) {
while(swap) {
swap = false;
for(int ix=0;ix<B.length;ix++) {
for(int iy=0;iy<B[ix].length;iy++) {
if(B[ox][oy]<B[ix][iy]) {
temp = B[ix][iy];
B[ix][iy] = B[ox][oy];
B[ox][oy] = temp;
swap = true;
}
}
}
}
oy++;
}
}
for(int row=0;row<B.length;row++)
for(int col=0;col<B[row].length;col++)
System.out.println(B[row][col]);
}
public static void main(String...S) {
int y[][] = {{10,20,0,30},{10,5,8},{3,9,8,7},{2,3}};
sort2D(y);
}
}
Я пытаюсь сортировать 2D-массив в порядке возрастания.Сортировка 2D-массива в порядке возрастания
Ввод: {{10,20,0,30}, {10,5,8}, {3,9,8,7}, {2,3}}; Выход: 30,20,10,10,9,8,8,7,5,3,0,2,3
Может кто-нибудь помочь мне узнать, что не так с моим кодом.
Является ли это домашнее задание? Можете ли вы использовать стандартные утилиты JDK? – arshajii
Да, это задание. Я должен разработать свою собственную логику, не могу использовать утилиты JDK. – victorh
Когда я запускаю этот код, я получаю 'ArrayIndexOutOfBoundsException'. – tbodt