Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
2354 / 1772 / 212
Регистрация: 07.01.2011
Сообщений: 10,342
1

Битовая сортировка

23.04.2012, 02:09. Показов 807. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, у меня есть прога по битовой сортировке, но я практически не понимаю каким чудом эта прога сортирует елементи. Мы изучали что надо по биту делить числа на два кармана...
а здесь как то вобше не так, может кто то помочь с пониманием, и закоментить рядки проги в алгоритме?

ф-ия дигит мне ясна:

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
using namespace std;
 
int a[100], b[100], n;
 
int digit(int n, int p)
{
    return (n >> p & 1);
}
int main()
{
    setlocale (LC_ALL,"Ukrainian");
    int m = 0;
    cout << "Введiть кiлькiсть елементiв у вхiднiй послiдовностi: ";
    cin >> n;//вводимо кількість елементів у вхідній послідовності
    cout << "\n";
    for (int i = 0; i < n; i++)
    {
        cout << "Введiть " << i+1 << " елемент послiдовностi: ";
        cin >> a[i];//вводимо елементи вхідної послідовності
    }
    int k = sizeof(int);
    k = k*8;
    for(int i = 0; i < k; i++)
    {
        for(int k = 0; k < n; k++)
            cout << a[k] << " ";
        cout << "\n";
 
        int c[2] = {0};
        for(int j = 0; j < n; j++)
            c[digit(a[j],i)]++;
        for(int j = 1; j < 2; j++)
            c[j] += c[j - 1];
        for(int j = n - 1; j > -1;j--)
        {
            b[--c[digit(a[j],i)]] = a[j];
            m++;
        }
        for(int j = 0; j < n; j++)
            a[j] = b[j];
    }
    cout << "Вiдсортована послiдовнiсть: ";
    for(int i = 0; i < n; i++)
        cout << a[i] << " ";
    cout << "\n";
    return 0;
}
Добавлено через 2 часа 5 минут
уже помощь не требуеться, сам переписал алгоритм сортировки))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.04.2012, 02:09
Ответы с готовыми решениями:

Битовая сортировка!
Всем привет. Нужно написать реферат по теме &quot;Битовая сортировка&quot;. Такого в инете, а также...

Битовая маска
Как в шифровании битовыми перестановками применить маску?

Битовая инверсия
Доброго времени суток! Я что-то запутался с побитовой инверсией. В коде прописываю int a=5;...

битовая маска
как использовать битовую маску? за пример можно взять выделение k-того разряда из n-разрядного...

0
23.04.2012, 02:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2012, 02:09
Помогаю со студенческими работами здесь

Битовая операция ->
Что делает операция -&gt; К примеру, есть структура: struct BIT{ unsigned int cod1:3; ...

64-битовая строка
Необходимо реализовать структуру 64-битовой строки состоящей из двух unsigned long полей, с...

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

Битовая арифметика
Почему при: int myVar = 15, mask = 0x00 00 00 01; //выделил разряды printf(&quot;%d&quot;, myVar &amp; mask);...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru