Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Поразрядная LSD сортировка(C++).

7.3K
12 мая 2008 года
vova_b
49 / / 24.09.2006
Привет! У кого есть реализация на с++ поразрядной LSD сортировки выложите плизз!!! Я вот нашел, но так и непонял что оно и как делает, какой-то получается нобор чисел
Код:
#include <iostream.h>
 #include <stdlib.h>
 #include <string.h>

 void radix (int byte, long N, long *source, long *dest)
 {
  long count[256];
  long index[256];
  memset (count, 0, sizeof (count));
  for ( int i=0; i<N; i++ ) count[((source)>>(byte*8))&0xff]++;
  index[0]=0;
  for ( i=1; i<256; i++ ) index=index[i-1]+count[i-1];
  for(i=0;i<N;i++) dest[index[((source)>>(byte*8))&0xff]++]=source;
 }

 void radixsort (long *source, long *temp, long N)
 {
  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=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 << '\n';
 }
320
12 мая 2008 года
m_Valery
1.0K / / 08.01.2007
Могу только дать источник , где почитать: Роберт Сэджвик. Фундаментальные алгоритмы на С++.Глава 10.Поразрядная сортировка.подглава 10.5.Поразрядная LSD сортировка.стр.425.Качни книгу и разберись;)
7.3K
13 мая 2008 года
vova_b
49 / / 24.09.2006
Да Седжвик есть, влт токо там есть класс а как к нему main написать непойму
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог