我随机生成N个0-65535的整数 转换成Strling
用TStringList载入
然后我要遍历
这个列表是否存在某个数
需要将需要查找的列表中的某个位置的值再转换成整数型
这样就要历经一次
INTTOSTR
和一次
STRTOINT
这样的话。会不会造成很大的效率损失
如果用TintegerList呢
但是好像没有TintegerList这个类!
用TStringList载入
然后我要遍历
这个列表是否存在某个数
需要将需要查找的列表中的某个位置的值再转换成整数型
这样就要历经一次
INTTOSTR
和一次
STRTOINT
这样的话。会不会造成很大的效率损失
如果用TintegerList呢
但是好像没有TintegerList这个类!
解决方案 »
- 请问delphi做界面java做后台数据库用db2的桌面程序有哪些优势
- 创建文件目录报错,麻烦帮我看看
- 问有开发数据库经验的高手一个关于独立EXE和模块化DLL和bpl问题
- 如何开机后运行先运行你的程序,然后根据你的程序选择是否运行windows2000
- 在project中的source源程序中能否用判断语句及加子函数?
- 在窗体上ONPAINT画线为何当我移动窗体线就出现时断时续呀急呀
- 菜!!怎样建立 真正的全局变量??
- 关于dbgrid的问题-----------在先等
- Delphi6开发人员指南下载:http://delphi.mychangshu.com/dispdoc.asp?id=626
- 网海拾贝 2001 beta 2 中的菜单是用什么控件做出来的?
- 获取网站的数据(wininet,idhttp和winsock什么的)哪种方式最快,有做过类似打水软件的可联系
- 外部程序嵌套到自己的程序内,并隐藏外部的任务栏显示问题【求助】
TDictionary<TKey, TValue>如果ui上必须要呈现一个字串列表,那么用键值对做个字典映射。
老版本D的Inifiles但愿有个哈希表实现.新版D则自带了字典类,也就是哈希表
TDictionary是现成的东西,比你用tstringlist还方便,
支持,对这种0-$FFFF存在与否的查询,用Boolean数组是最快的,生成随机数的时候,把对应的位置设置成True,查询的时候只需要检查对应的值是否是True就知道是否有了
bList : array [0..$FFFF] of Boolean;
//初始化的时候
FillChar(bList,SizeOf(bList) , 0); //初始化
for i:=1 to ... do begin //生成多少个数
n := Random($10000); //确保范围在0-65535之内
bList[n] := True;
end;
查询的时候
Function ExistsValue(wValue : WORD) : Boolean;
begin
Result := bList[wValue];
end;
arr: array[0..65535] of integer;
产生随机的整数,以有序的方式插入到arr中。
查询的时候,用折半算法查找。用tstringlist,简直是坑爹的想法。
Tstringlist排序后,自动按折半(二分)算法查找了