Как подойти к сортировке массива по наибольшему значению в первую очередь по возрастанию - PullRequest
0 голосов
/ 10 апреля 2019

После генерации случайных чисел в ранее инициализированном пользователем размере массива впоследствии он должен быть отсортирован следующим образом: сначала самое большое значение, все остальное в порядке возрастания.

ВХОД: 8 29 15 52 18 ВЫХОД: 52 8 15 18 29

Проблема в том, что я не могу понять, скорее его следует использовать через один алгоритм сортировки или через два, а затем объединить?Без Arrays.Sort.method.

Сделал некоторый код для ввода, генерации случайных значений, поиска наибольшего значения и его отображения.

 public static void main(String[] args) {
        System.out.println("Ievadiet masiva lielumu: "); //Enter array size
        Scanner scan = new Scanner(System.in);
        Random valuesGenerator = new Random();

        int num = scan.nextInt();
        int[] myArray = new int[num];

        for (int i = 0; i < myArray.length; ++i) {
            int randomInt = valuesGenerator.nextInt(100);
            myArray[i] = randomInt;
        }

        System.out.println("Randomizeti generetais masivs: "); //Generated array

        for(int k=0; k < myArray.length; k++)
        {
            System.out.print(myArray[k] + " ");
        }

        System.out.println(); //New line

        int largest = myArray[0];

        int largeIndx = 0;

        for (int i = 1; i < myArray.length; i++) {
            if (myArray[i] > largest) {
                largest = myArray[i];
                largeIndx = i;
            }
        }

        System.out.println("===================");
        System.out.println("Largest value = "+largest);
        System.out.println("Largest value index = "+largeIndx);
        System.out.println("First element is = "+myArray[0]); //first
        System.out.println("");

        for(int k=0; k < myArray.length; k++)
        {
            System.out.print(myArray[k] + " ");
        }
    }

1 Ответ

0 голосов
/ 10 апреля 2019

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

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