Оптимизированная улучшенная сортировка выбора - PullRequest
0 голосов
/ 05 мая 2019

Я должен реализовать код для улучшенной сортировки выбора, как показано в: https://www.researchgate.net/publication/272621833_Improved_Selection_Sort_Algorithm. Краткое объяснение того, как я понимаю, как работает сортировка: Первое значение всегда является текущим максимумом (в порядке убывания), а его индекс помещается в отдельный временный массив, чтобы сохранить максимальный индекс INDEX. Индекс остается во временном списке до тех пор, пока не будет найдено значение, превышающее текущий максимум. Если есть дубликаты, их индекс также добавляется во временный список индексов. После просмотра всего списка, индексы, оставленные во временном списке, должны поменяться местами с первыми несортированными позициями в исходном списке. Первая итерация завершается, и процесс продолжается до сортировки.

 public void ImprovedSelectionSort(int[] Array)
    {
        int[] temp = new int[Array.Length];
        for (int i = 0; i <= Array.Length; i++) 
        {
            int max = Array[0];

          for (int j = 0; j <= Array.Length; j++) 
            {
            if (temp[j] >= max)
        max = temp[j]; public static void swap(int[] Array, int x, int y)

            }
            swap(Array, max, i);
        }

   public static void swap(int[] Array, int x, int y)
    {

        int temp = Array[x];
        Array[x] = Array[y];
        Array[y] = temp;

    }

У меня нет результатов, потому что я неправильно внедряю код и пытаюсь понять, как кодировать этот метод сортировки.

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