Delphi如何计算数组中唯一值数量?
- 内容介绍
- 文章标签
- 相关推荐
本文共计205个文字,预计阅读时间需要1分钟。
我正在寻找一种有效的方法来检测数组中唯一值的数量。目前的方法是:先使用Quicksort对整数数组进行排序,然后通过循环比较元素。在代码中:
javascriptyearHolder='';for (I=0; I <=High(yearArray) - 1; I=I + 1) { currYear=yearArray[I]; // ...}
我正在寻找一种有效的方法来检测数组中唯一值的数量.我目前的做法:
> Quicksort整数数组
>然后运行循环来比较元素.
在代码中:
yearHolder := ''; for I := 0 to High(yearArray) do begin currYear := yearArray[i]; if (yearHolder <> currYear) then begin yearHolder := currYear; Inc(uniqueYearNumber); end; end; 以下是THashedStringList的示例:
hl := THashedStringList.Create; // in Inifiles try hl.Sorted := True; hl.Duplicates := dupIgnore; // ignores attempts to add duplicates for i := 0 to High(yearArray) do hl.Add(yearArray[i]); uniqueYearCount := hl.Count; finally hl.Free; end;
本文共计205个文字,预计阅读时间需要1分钟。
我正在寻找一种有效的方法来检测数组中唯一值的数量。目前的方法是:先使用Quicksort对整数数组进行排序,然后通过循环比较元素。在代码中:
javascriptyearHolder='';for (I=0; I <=High(yearArray) - 1; I=I + 1) { currYear=yearArray[I]; // ...}
我正在寻找一种有效的方法来检测数组中唯一值的数量.我目前的做法:
> Quicksort整数数组
>然后运行循环来比较元素.
在代码中:
yearHolder := ''; for I := 0 to High(yearArray) do begin currYear := yearArray[i]; if (yearHolder <> currYear) then begin yearHolder := currYear; Inc(uniqueYearNumber); end; end; 以下是THashedStringList的示例:
hl := THashedStringList.Create; // in Inifiles try hl.Sorted := True; hl.Duplicates := dupIgnore; // ignores attempts to add duplicates for i := 0 to High(yearArray) do hl.Add(yearArray[i]); uniqueYearCount := hl.Count; finally hl.Free; end;

