Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Doppelte Elemente in einer Stringlist anzeigen (https://www.delphipraxis.net/188075-doppelte-elemente-einer-stringlist-anzeigen.html)

bernhard_LA 28. Jan 2016 13:53

Doppelte Elemente in einer Stringlist anzeigen
 
gibt es eine Funktion um mir die doppelten Elemente in einer bereits existierenden Stringliste anzuzeigen ?

Neutral General 28. Jan 2016 14:00

AW: Doppelte Elemente in einer Stringlist anzeigen
 
Nein - Verschachtelte Schleife.

himitsu 28. Jan 2016 14:00

AW: Doppelte Elemente in einer Stringlist anzeigen
 
Ne.
Es gibt nur das Gegenteil, also Doppelte ignorieren, oder bei Doppelten einen Fehler werfen. (in TStringList)

Liste durchlaufen (0..Count-1) und mit IndexOf nachsehen, ob/wo es das gibt.
Wenn IndexOf <> bzw. < i, dann hast du einen doppelten/mehrfachen Eintrag und den kannst'e in eine andere Liste mit dupIgnore einfügen. (damit Mehrfache mit mehr als 2 nicht mehrfach drin stehen)

Wenn dich nur interessiert ob etwas doppelt ist, dann einfach mit AddStrings in eine weitere Liste mit dupIgnore und dann die Count vergleichen.

[Edit] Stimmt, oder SL.Sort und dann sind Doppelte immer Aufeinanderfolgend.
Delphi-Quellcode:
if SL[i]=SL[i+1] then doppelt;

DeddyH 28. Jan 2016 14:01

AW: Doppelte Elemente in einer Stringlist anzeigen
 
Oder sortieren und dann in einer Schleife durchgehen und vergleichen.

Dejan Vu 28. Jan 2016 18:59

AW: Doppelte Elemente in einer Stringlist anzeigen
 
Oder Hashmap (TDictionary<string>) bauen, einmal durchrennen, in die dictionary einfügen und bei Vorhandensein im Dictionary meckern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz