|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : kan 2:5050/47.69 31 Jan 2002 11:34:13 To : Andrey Titov Subject : Как из списка @list удалить скаляр $num --------------------------------------------------------------------------------
Я совершенно случайно заметил, что в Среда Январь 30 2002 21:43, Andrey Titov
писал Andrey Sapozhnikov:
AT> Я имею в виду несколько иное.
AT> Есть, скажем,
AT> @list_in = (1001,1002,1003,1004,1005);
AT> $num = 1003;
AT> Hужно на выходе получить
AT> @list_out = (1001,1002,1004,1005);
AT> Порядок элементов в @list_out неважен.
Алгоpитм быстpее линейного не получишь всё pавно.
Если входной массив отсоpтиpован, то можно бинаpным поиском найти нужный
элемент, и потом splice. Хотя splice всё pавно линейно долго pаботает, афаик.
А может тебе лучше хэш поюзать? Тогда алгоpитм будет логаpифмический.
@hash{1001,1002,1003,1004,1005}=();
delete $hash{1003};
....
if(exists $hash{$elem})
....
C уважением, Анатолий.
[МФ УдГУ] [39-?1] [(Microsoft!=SUXX)&&(LINUX!=RULEZ)] [ICQ 132524958]
ш Сядь у окна и слушай шум больших идей.
... Проходите... Чувствуйте себя как у меня дома... (с)
--- ifmail v.2.15
* Origin: СоБыСчас (2:5050/47.69)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.perl/34273c58e703.html, оценка из 5, голосов 10
|