2 / 2 / 0
Регистрация: 15.12.2018
Сообщений: 222
1

Radix сортировка

06.02.2020, 11:26. Показов 1958. Ответов 2
Метки нет (Все метки)

Подскажите, как выглядит radix сортировка на языке Си. Уже несколько дней пытаюсь ее понять и никак не выходит на языке программирования(LSD)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.02.2020, 11:26
Ответы с готовыми решениями:

Radix-сортировка для слов
Доброго времени! Не нашел решения в сети, решил воспользоваться любимым форумом) В общем нужно...

Исправить Radix sort
Здравствуйте! Помогите исправить ошибку в Radix sort! Я пытался изменить код который сортирует...

Что возвращает метод radix()?
не понимаю что должен делать этот метод. вроде что-то с системой счисления связано? вот тут с...

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

2
1269 / 1026 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
06.02.2020, 11:58 2
Может это подойдёт: https://rosettacode.org/wiki/S... dix_sort#C
0
Модератор
2219 / 1569 / 853
Регистрация: 16.10.2013
Сообщений: 4,621
Записей в блоге: 12
08.02.2020, 11:54 3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
void radixSort(int *a, int n) {
    int i;
    int semiSorted[n];
    int significantDigit = 1;
    int largestNum = findLargestNum(a, n);
    while (largestNum / significantDigit > 0) { // Loop until we reach the largest significant digit
        //printf("Sorting: %d's place\n", significantDigit);
        //printArray(a, n);
        int bucket[10] = { 0 }; // Counts the number of "keys" or digits that will go into each bucket
        for (i = 0; i < n; i++)
            bucket[(a[i] / significantDigit) % 10]++;
        /*
        Add the count of the previous buckets,
        Acquires the indexes after the end of each bucket location in the array
        Works similar to the count sort algorithm
        */
        for (i = 1; i < 10; i++)
            bucket[i] += bucket[i - 1];
        // Use the bucket to fill a "semiSorted" array
        for (i = n - 1; i >= 0; i--)
            semiSorted[--bucket[(a[i] / significantDigit) % 10]] = a[i];
        for (i = 0; i < n; i++)
            a[i] = semiSorted[i];
        significantDigit *= 10; // Move to next significant digit
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2020, 11:54
Помогаю со студенческими работами здесь

Блок схема.Сортировка «Пузырьком», Сортировка методом «Последовательных перестановок», Сортировка «Вставками»
Помогите, нужны блок схемы Сортировка «Вставками» Program Vstavka; uses dos; Type mass=array ...

Разработать программу сортировки: сортировка перестановкой, сортировка вставкой, быстрая сортировка
Задание: Разработать программу сортировки: - сортировка перестановкой - сортировка...

1)Бинарный поиск 2)Сортировка включением 3)Шейкерная сортировка 4)Сортировка разделением
1)В заданном массиве К(N) найти индексы элементов, которые кратны минимальному значению элемента...

Сортировка Шелла. Написал программу, не могу понять, почему сортировка не выполняется
Программа создает динамический массив с рандомным заполнением. Дальше выбор сортировок, пузырьком...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru