кодесурса

Упражнения на Java: алгоритм сортировки по группам

script1adsense2code
script1adsense3code

Алгоритм сортировки Java: упражнение 19 с решением

Напишите программу на Java для сортировки массива заданных целых чисел с помощью алгоритма сортировки по группам.

Сортировка по группам - это алгоритм сортировки, который работает путем распределения элементов массива по нескольким сегментам. Затем каждый сегмент сортируется индивидуально, либо с использованием другого алгоритма сортировки, либо путем рекурсивного применения алгоритма сортировки сегмента. Это тип распределения, обобщение рода голубиных, и двоюродный брат радикальной сортировки с наиболее значительным количеством цифр.

Пример решения:

Java-код:

import java.util.Arrays;
public class BucketSort 
{
    static int[] sort(int[] nums, int max_value) 
    {
        // Bucket Sort
        int[] Bucket = new int[max_value + 1];
        int[] sorted_nums = new int[nums.length];
         for (int i = 0; i < nums.length; i++)
          Bucket[nums[i]]++;
          int outPos = 0;
         for (int i = 0; i < Bucket.length; i++)
              for (int j = 0; j < Bucket[i]; j++)
                  sorted_nums[outPos++] = i;
          return sorted_nums;
      }
 
    static int max_value(int[] nums) 
    {
        int max_value = 0;
        for (int i = 0; i < nums.length; i++)
            if (nums[i] > max_value)
                max_value = nums[i];
        return max_value;
    } 
// Method to test above
    public static void main(String args[])
    {
        int nums[] = {7, 3, 2, 1, 0, 45};
       int max_value = max_value(nums);
        System.out.println("Original Array:");
        System.out.println(Arrays.toString(nums));
        nums = sort(nums, max_value);
        System.out.println("Sorted Array:");
        System.out.println(Arrays.toString(nums));
        }        
}

Пример вывода:

 Оригинальный массив:
[7, 3, 2, 1, 0, 45]
Сортированный массив:
[0, 1, 2, 3, 7, 45]

Блок - схема:


Редактор кода Java:

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите Java-программу для сортировки массива заданных неотрицательных целых чисел с помощью алгоритма сортировки Stooge.
Далее: Упражнения по алгоритму сортировки Java

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code