Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Dmitriy Goldobin                     2:5020/400     10 Apr 2000  14:09:16
 To : All
 Subject : Re: Сортировать ассоциированый массив для вывода
 -------------------------------------------------------------------------------- 
 
 Hi!
 
 > Требуется сабж, сортировка по значениям. Я ничего умнее не придумал, как:
 >
 >    for (%a){
 >       if ($a{$_}) {  @a[$i] = $a{$_}; $i++; }
 >    }
 >    @a = sort {$b <=> $a} @a;
 >    for $i (@a){
 >       for $j (%a){
 >          if ($a{$j} == $i) { print "$a{$j} - $j" ;
 >          $a{$j} = -1; }
 >       }
 >    }
 > Т.е. сливаю значения в массив, сортирую и печатаю по полученному массиву с
 > заменой напечатанных значений за рабочий интервал. Может есть что либо по
 > стандартнее, по проще?
 
 Че то уж больно накручено :)
 
 Если значения уникальны, то достаточно %b = reverse %a; for(sort keys %b)...
 Если не уникальные, то вот так:
 
 for( sort {$h{$a} cmp $h{$b}} keys %h ) {
     print $_, $h{$_}, "\n";
     }
 
 Bye.
 --- ifmail v.2.15dev4
  * Origin: Electronic Microsystems JSC (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Сортировать ассоциированый массив для вывода   Fedor Bolshakoff   10 Apr 2000 15:00:29 
 Re: Сортировать ассоциированый массив для вывода   Dmitriy Goldobin   10 Apr 2000 14:09:16 
 Сортировать ассоциированый массив для вывода   Oleg Bakiev   10 Apr 2000 15:21:57 
Архивное /ru.perl/21956be8327d8.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional