Форум программистов, компьютерный форум CyberForum.ru

Битовая сортировка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Бесконечный цикл http://www.cyberforum.ru/cpp-beginners/thread555655.html
Простите что с таким лёгким вопросом, но мистика окутывает мою учёбу всё больше и больше ^^ Тут програмка которая считает сумму каждого рядка в массиве квадратном, в плоть до основной диагонали. Тоесть основная диагональ как граница, её значение включается в сумму, но всё что дальше не считается. Я пишу всё через кодеблокс. #include <iostream> using namespace std; int main() { int...
C++ Массив вещественных чисел сортированная по возрастанию Нужно Создать программу, сортирующую массив вещественных чисел по возрастанию. Число элементов массива вводится пользователем перед вводом значений элементов массива (использовать функции динамического выделения памяти). Для работы с элементами массива использовать указатели (адресную арифметику). Вот мой код: #include <stdio.h> #include <conio.h> #include <stdlib.h> int main() { float... http://www.cyberforum.ru/cpp-beginners/thread555653.html
C++ обработка форм на CGI C++
Здравствуйте! Строю генеалогическое дерево на CGI C++. Для того что бы его построить пользователю предлагается заполнить форму, типа ваше имя, дети, дети детей и т.д. Получается дерево растет динамический, но когда нажимаю кнопку отправить форму, то страница перезагружается и начинается все с нуля. Ничего не сохраняется. Что тут можно сделать? 1. использовать Ajax? 2. использовать базу данных? ...
Вычислить... C++
Дано натуральное число N. Вычислить
C++ Копирование одного раздела в другой http://www.cyberforum.ru/cpp-beginners/thread555623.html
Задание: Скопировать определенный (задается в коде) раздел реестра в другой раздел (так же задается в коде). Есть пример работы с реестром.В нем я разобрался.Но изменить под задание не получается #include <stdio.h> #include <windows.h> int main(int argc, char* argv){
C++ Запись в файл Собствено у меня в програме функция записи в файл реализована следующим образом std::string fileName; std::cout << "Введите слово: "; std::cin >> fileName; std::ofstream fw("result.txt" ); fw << fileName; fw.close(); Она записывает слово в 1 строкe и при последующем выхове переписывает всё ту же строку... Слово подробнее

Показать сообщение отдельно
zewer
1105 / 796 / 80
Регистрация: 07.01.2011
Сообщений: 5,864

Битовая сортировка - C++

23.04.2012, 02:09. Просмотров 418. Ответов 0
Метки (Все метки)

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

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

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 минут
уже помощь не требуеться, сам переписал алгоритм сортировки))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru