Упорядочение вектора случайно сгенерированных чисел - PullRequest
0 голосов
/ 30 июня 2019

Я пытаюсь решить вопрос, но не могу найти, почему мой код не работает для этой проблемы. Я сгенерировал случайный вектор из 100 элементов, и я пытаюсь упорядочить их в другой. Каким-то образом мой новый сгенерированный вектор заполняется последним значением индекса случайного вектора.

int[] vetorAleatory = new int[100];

for (int i = 0; i < vetorAleatory.length; i++) {
    vetorAleatory[i] = new Random().nextInt(1000);
}

int[] vetorByOrder = new int[100];
int newVetorPosition = 0;

for (int i = 0; i < 100; i++) {
    for (int x = 0; x < 100; x++) {

        vetorByOrder[newVetorPosition] = 2000;
        if (vetorAleatory[i] < vetorByOrder[newVetorPosition]) {
            boolean newEntry = true;
            for (int y = 0; y < newVetorPosition; y++) {
                if (vetorByOrder[y] == vetorByOrder[newVetorPosition]) {
                    newEntry = false;
                    break;
                }
            }
            if (newEntry == true) {
                vetorByOrder[newVetorPosition] = vetorAleatory[x];
            }
        }
        if (x == 99) {
            newVetorPosition++;
        }
    }
}

for (int i = 0;i<100;i++) {
    System.out.print(vetorAleatory[i] + ", " + vetorByOrder[i] + System.lineSeparator());
}

1 Ответ

0 голосов
/ 30 июня 2019

Для начала вам не нужно 3 цикла для сортировки массива. Вам нужно только 2, а в случае быстрого поиска - даже меньше. Вы можете проверить этот пример Сортировка массива и поиск , или вы можете использовать встроенный метод Arrays.sort в Java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...