Сортировка

  • Автор темы daiv
  • Дата начала
Статус
Закрыто для дальнейших ответов.
D

daiv

#1
помогите убрать из списка одинаковые строки
12
45
65
345
534
23
345
65
90
67
чтоб выводил
12
45
65
345
534
23
90
67
 
S

SteelRat

#2
Воспользуйся такой процедурой:

procedure DelDuplicates(SL: TStringList);
var
i, j: integer;
begin
for i := 0 to SL.Count - 1 do
begin
for j := SL.Count - 1 downto i + 1 do
begin
if SL.Strings = SL.Strings[j] then
SL.Delete(j);
end;
end;
end;
 
P

Pete

#4
Через хэш можно быстрее сделать, если список будет достаточно большой, это может дать хороший выигрыш.
 
P

Pete

#5
Или предварительно отсортировав строки быстрой сортировкой. Когда строк несколько тысяч, эффект будет очень заметен.
 
B

Barmutik

#6
Для такого вопроса нельзя предлагать использовать хэш .. или надо тогда сначала объяснять что такое хэш и быстрая сортировка :angry:
 
D

Danemon

#7
Можно воспользоваться услугами типа Set - "множество".
 
Статус
Закрыто для дальнейших ответов.