[Cascavel-pm] Excluir valores repetidos dentro do Array
Marco A P D´Andrade
mda em embratel.net.br
Quarta Agosto 18 12:56:03 CDT 2004
Dexter,
1. Pesquisar duplicados em um array pode ser muito lento, se houverem
muitos valores, a não ser que vc implemente inserção ordenada.
2. A maneira mais simples seria usar um hash como índice:
my %Index;
my @Items;
unless ( exists($Index{$val}) ) {
push(@Items, $val);
$Index{$val} = $#Items;
} else {
$Items[$Index{$val}] = $val;
}
Haverá um inconveniente se a lista for muito grande, neste caso
verifique splice e monte um algoritmo de pesquisa binária...
3. Cruzando hash de indice com tie, vc manteria os indices em disco, mas
novamente, depende do tamanho da lista.
PS: talvez seja excessiva minha preocupação com tamanho, e um mero for
para localizar resolva, mas tenho tido dados em volume bem consideravel
e tomei o "vicio".
Sds,
Marco Antonio
dexter em ticbrasil.com.br wrote:
>Caros Monges,
>
>tenho um array que eu associei a uma coluna de um determinado arquivo, porem
>algumas vezes esses valores se repetem,
>
>como posso fazer para comparar cada valor com todos os do array e excluir
>esse valor do array.
>
>Muito Obrigado desde ja
>
>
>_______________________________________________
>Cascavel-pm mailing list
>Cascavel-pm em mail.pm.org
>http://cascavel.pm.org/mailman/listinfo/cascavel-pm
>
>
>
Mais detalhes sobre a lista de discussão Cascavel-pm