Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.01.06;
Скачать: CL | DM;

Вниз

Быстрый алгоритм сжатия упаковки(не архивация) массива   Найти похожие ветки 

 
@!!ex ©   (2007-12-07 20:29) [0]

Есть массив записей.
Нужно упаковать массив.
В записи есть поле Handle.
Это значит упорядочить его так, чтобы все элементы с Handle=0 лежали в конце массива.
НИчего умнее сортировки придумать не могу...


 
Efir   (2007-12-07 20:31) [1]

Т. е. нужно отсортировать?


 
@!!ex ©   (2007-12-07 20:40) [2]

> [1] Efir   (07.12.07 20:31)

хм. в принципе да.
Но полюбому это можно реализовать как то быстрее чем обычная сортировка. Ведь элементы делятся только на два типа 0 и не 0.


 
Efir   (2007-12-07 20:52) [3]

Ну тогда наверно можно одним проходом отсортировать.


 
Anatoly Podgoretsky ©   (2007-12-07 20:58) [4]

Это не совсем сортировка в привычном смысле этого слова.
Решается за один проход, путем перемещения в конец, только не циклом for, а while.


 
Efir   (2007-12-07 21:06) [5]

Чё нить типа:
xo - указатель на начало
хк - указатель на конец массива
 1) если справа 0, то dec(xk) иначе смотрим слева
 2) если слева 0 - меняем местами и inc(xo), dec(xk)
 3) если слева не 0 то inc(xo), пока слева не будет 0.



Страницы: 1 вся ветка

Текущий архив: 2008.01.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
15-1196392717
Slider007
2007-11-30 06:18
2008.01.06
С днем рождения ! 30 ноября 2007 пятница


2-1196941670
Nil
2007-12-06 14:47
2008.01.06
распределение памяти в динмаическом массиве записей


15-1196713499
Ega23
2007-12-03 23:24
2008.01.06
Я что-то пропустил?


2-1197368334
Alexandr Malygin
2007-12-11 13:18
2008.01.06
округление


2-1197204556
istok
2007-12-09 15:49
2008.01.06
Запись в файл на winapi