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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Alexander Kostiuchenko               2:463/468.5    18 Jun 2001  05:03:04
 To : George
 Subject : Удалить/отследить из массива одинаковые элементы
 -------------------------------------------------------------------------------- 
 
 
  Как-то раз (а точнее 17 Jun 01 в 23:37) George писал(а) к Sasha Breger:
 
  SB>> Как быстpее всего удалить из массива одинаковые элементы?
  G>  А как быстpее всего добавить в массив/список элемент, если такового
  G> там ещё нет (и не добавлять, если есть)?
 
 push @arr,$elem unless grep {$elem} @arr;
 
 Hо - здается мне, что при большом кол-ве подобных операций лучше вместо массива 
 юзать хэш, где ключ - значение элемента, а значение - его порядковый номер (если
 важно сохранить порядок элементов).
 Добавить элемент: $h{$elem} = $top++ unless defined($h{$elem});
 перед первым добавлением: $top = ((sort {$b <=> $a} values %h)[0]) + 1;
 Превратить хэш в массив:
 @arr =  map { $a{$_} } sort {$a <=> $b} keys %a if %a = reverse %h;
 
 defined то явно выполняется быстрее grep ...
 
 --
 mailto: random at info.net.ua                  //Александр
 
  * Origin: useless (2:463/468.5)
 
 

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

 Тема:    Автор:    Дата:  
 Удалить из массива одинаковые элементы   Sasha Breger   17 Jun 2001 16:29:09 
 Удалить из массива одинаковые элементы   Slava Korchagin   17 Jun 2001 21:57:32 
 Re: Удалить из массива одинаковые элементы   Alexander Babanov   17 Jun 2001 18:43:46 
 Удалить из массива одинаковые элементы   Slava Korchagin   18 Jun 2001 09:58:23 
 Удалить из массива одинаковые элементы   Dmitry Smolin   18 Jun 2001 13:47:08 
 Re: Удалить из массива одинаковые элементы   Alexander Babanov   19 Jun 2001 11:07:15 
 Удалить из массива одинаковые элементы   Albert N. MICHEEV   18 Jun 2001 01:58:59 
 Удалить из массива одинаковые элементы   Slava Korchagin   18 Jun 2001 10:09:20 
 Удалить из массива одинаковые элементы   Slava Korchagin   18 Jun 2001 10:29:30 
 Удалить из массива одинаковые элементы   Albert N. MICHEEV   18 Jun 2001 14:39:02 
 Удалить из массива одинаковые элементы   Anatolij Kupriyanov   18 Jun 2001 23:10:24 
 Удалить из массива одинаковые элементы   Alexander Kostiuchenko   18 Jun 2001 05:56:27 
 Удалить/отследить из массива одинаковые элементы   George   17 Jun 2001 23:37:19 
 Re: Удалить/отследить из массива одинаковые элементы   Alexander Babanov   17 Jun 2001 18:45:37 
 Удалить/отследить из массива одинаковые элементы   George   18 Jun 2001 10:06:56 
 Re: Удалить/отследить из массива одинаковые элементы   Alexander Babanov   19 Jun 2001 11:12:03 
 Удалить/отследить из массива одинаковые элементы   Alexander Kostiuchenko   18 Jun 2001 05:03:04 
 Re: Удалить/отследить из массива одинаковые элементы   Yuriy Kaminskiy   20 Jun 2001 15:21:28 
Архивное /ru.perl/28453b2d971c.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional