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

Распределяющая сортировка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не компилирует http://www.cyberforum.ru/cpp-beginners/thread321138.html
Здравствуйте ув. Пользователи. Ответьте пожалуйста на мой нубский вопрос. Microsoft Visual C++ 2010 Express перестал компилировать код. Захожу в Visual C++ выбираю Win32 Console Application ввожу простейший код #include <iostream> using namespace std; int main() { cout << "Это моя первая программа на C++"; return 0; }
C++ Вывод текста в консоль цветными буквами! Здравствуйте! Видел у одного чела при выполнении программы в консоли шрифт был разного цвета! Как мне такое реализовать? Заранее благодарен! http://www.cyberforum.ru/cpp-beginners/thread321116.html
Найти в матрице первую строку, все элементы которой положительны C++
помогите плиииз
C++ 12 вариант, Павловская
Помогите пожалуйста с написанием кода (желательно на Visual Studio 2010): Заранее благодарю за любую помощь.
C++ Вычисление выражение, записанного в префиксной форме http://www.cyberforum.ru/cpp-beginners/thread321112.html
Помогите написать программу,которая вычисляет выражение,что содержит только символы операций и цифры от 1 до 9, записаное в префиксной форме
C++ три первых места Доброго времени суток. Помогите, плиз, решить задачу. Известна сумма очков, набранных каждой из 20 команд-участниц по футболу. Определить сумму очков, набранных командами, занявшими в чемпионате три первых места. подробнее

Показать сообщение отдельно
pelele
7 / 2 / 1
Регистрация: 08.10.2009
Сообщений: 45
16.06.2011, 22:59     Распределяющая сортировка
Разбираю данную сортировку из вот этого материала http://algolist.manual.ru/sort/faq/q11.php
и что-то я совсем запуталась... или уже крыша едет))

я правильно поняла, что байтовая, цифровая, радиксная или распределяющая сортировка это одно и тоже? просто разные названия?)) Если да, то объясните кто, пожалуйста, как понять, например, вот эту строку из кода сортировки :
C++
1
for ( int i=0; i<N; i++ ) count[((source[i])>>(byte*8))&0xff]++;
не понимаю что вот это: ((source[i])>>(byte*8))&0xff
Сам код сортировки из ссылке выше:
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
#include <iostream.h>
 #include <stdlib.h>
 #include <string.h>
 
 void radix (int byte, long N, long *source, long *dest)
 {
  // *source - входной массив,
  // *dest - отсортированный.
  long count[256];    // вообще говоря, можно обойтись 
  long index[256];    // одним массивом count[]
  
  memset (count, 0, sizeof (count));
  for ( int i=0; i<N; i++ ) count[((source[i])>>(byte*8))&0xff]++;
  index[0]=0;
  for ( i=1; i<256; i++ ) index[i]=index[i-1]+count[i-1];
  for(i=0;i<N;i++) dest[index[((source[i])>>(byte*8))&0xff]++]=source[i];
 }
 
 void radixsort (long *source, long *temp, long N)
 {
  // Сортируем по всем 4 разрядам
  radix (0, N, source, temp);
  radix (1, N, temp, source);
  radix (2, N, source, temp);
  radix (3, N, temp, source);
 }
 
 void make_random (long *data, long N)
 {
  for ( int i=0; i < N; i++ ) data[i]=rand()|(rand()<<16);
 }
 
 long data[10000];
 long temp[10000];
 
 void main (void)
 {
  make_random(data, 10000);
  radixsort (data, temp, 10000);
  for ( int i=0; i<100; i++ ) cout << data[i] << '\n';
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru