/ Функция за сортиране с помощта на java - java, сортиране

Функция за сортиране с помощта на java - java, сортиране

Пиша java приложение.

  ArrayList<int[]> list = new ArrayList<int[]>();

double[] array = new double[10];

Написах функция за сортиране на масива и списъка за сортиране въз основа на сортирането на масива. Но функцията ми не работи правилно.

  public void sort() {
int n = array.length;
for (int i = 1; i < n; i++) {
double m = array[i];
int[] d = list.get(i);
int j = i - 1;
while ((j >= 0) && (array[j] > m))
{
array[j+1] = array[j--];
list.set(j+1, list.get(j--));
}
array[j+1]=m;
list.set(j+1, d);
}
}

Той има java.lang.ArrayIndexOutOfBoundsException в реда:

          list.set(j+1, list.get(j--));

Как мога да разреша проблема и да сортирам списъка въз основа на вида масив?

Отговори:

2 за отговор № 1

Кога i==1, j е първоначално 0.

Ако приемем, че array[0] > array[1], ако е въведен блок, и след:

array[j+1] = array[j--];

j == -1, така че не можете да го използвате, за да индексирате list, Второто намаление също изглежда подозрително.


0 за отговор № 2

Мисля, че тази връзка има всичко, от което се нуждаете: http://www.leepoint.net/notes-java/data/arrays/70sorting.html

Основно да сортирате масив, който ще използвате java.util.Arrays "метод за сортиране и за ArrayList ще използвате java.util.Collections" метод за сортиране.