|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/371.32 09 Dec 2000 21:42:14 To : Gleb Subject : Re: сортировка большого хеша --------------------------------------------------------------------------------
В твоём письме от Sat, 09 Dec 2000 14:21:23 +0300 написано:
gzr> Вот возникла проблемка, никак не соображу как
gzr> бы половчее извернуться.
gzr>
gzr> Hужно напечатать хеш отсортированный по ассоциированным значениям.
gzr>
gzr> делаю
gzr>
gzr> foreach $word (sort {$stat{$a} cmp $stat{$b}} keys %stat) {
gzr> print OUT "$stat{$word} $word \n";
gzr> }
gzr>
gzr> скрипт вылетает с сообщением "Out of Memory"
gzr>
gzr> Причем даже если foreach заменить на while - это все равно на спасает.
gzr>
gzr> Одна только строчка
gzr>
gzr> @sorted_keys = sort {$stat{$a} cmp $stat{$b}} keys %stat;
gzr>
gzr> приводит к нехватке памяти.
gzr>
gzr> Посоветуйте плз как извернуться...
Смотря что там здоровое, конечно, но... Берешь книжку по алгоритмам сортировки
(третий том "Искусства программирования" Кнута или что более другое) и
изучаешь. У Кнута уделяется внимание сортировке в условиях нехватки ресурсов.
--- slrn/0.9.6.3-as (Linux)
* Origin: AKA с подствольным плюсомётом (2:5020/371.32)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/73402a6fd2318.html, оценка из 5, голосов 10
|