Рубрики

Java-программа для сортировки Stooge

Сортировка по Стогу — это алгоритм рекурсивной сортировки. Это определяется как показано ниже (для сортировки по возрастанию).

Step 1 : If value at index 0 is greater than
         value at last index, swap them.
Step 2:  Recursively,
       a) Stooge sort the initial 2/3rd of the array.
       b) Stooge sort the last 2/3rd of the array.
       c) Stooge sort the initial 2/3rd again to confirm.

// Java-программа для реализации сортировки марионеток

import java.io.*;

  

public class stooge

{

    // Функция для реализации сортировки марионеток

    static void stoogesort(int arr[], int l, int h)

    {

        if (l >= h)

           return;

  

        // Если первый элемент меньше

        // чем в прошлом, поменять их местами

        if (arr[l] > arr[h])

        {

            int t = arr[l];

            arr[l] = arr[h];

            arr[h] = t;

        }

  

        // Если есть более 2 элементов

        // массив

        if (h-l+1 > 2)

        {

            int t = (h-l+1) / 3;

  

            // Рекурсивная сортировка первых 2/3 элементов

            stoogesort(arr, l, h-t);

  

            // Рекурсивная сортировка последних 2/3 элементов

            stoogesort(arr, l+t, h);

  

            // Рекурсивная сортировка первых 2/3 элементов

            // еще раз для подтверждения

            stoogesort(arr, l, h-t);

        }

    }

  

    // Код драйвера

    public static void main(String args[])

    {

        int arr[] = {2, 4, 5, 3, 1};

        int n = arr.length;

  

        stoogesort(arr, 0, n-1);

  

        for (int i=0; i < n; i++)

             System.out.print(arr[i] + " ");

    }

}
// Код предоставлен Mohit Gupta_OMG <(0_o)>

Выход:

1 2 3 4 5 

Пожалуйста, обратитесь к полной статье о Сортировке Stooge для более подробной информации!

Рекомендуемые посты:

Java-программа для сортировки Stooge

0.00 (0%) 0 votes