unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} uses Generics.Collections; {引用泛型单元} {从字符串数组中查找} procedure TForm1.Button1Click(Sender: TObject); var arr: array of string; num: Integer; begin {构建动态数组} SetLength(arr, 5); arr[0] := 'aaa'; arr[1] := 'bbb'; arr[2] := 'ccc'; arr[3] := 'ddd'; arr[4] := 'eee'; {查找} TArray.BinarySearch<string>(arr, 'ddd', num); {显示查找结果} if num < Length(arr) then {如果 num = Length(arr) 就是没找到} ShowMessage(IntToStr(num)); {3} end; {从整数数组中查找} procedure TForm1.Button2Click(Sender: TObject); var arr: array of Integer; num: Integer; begin {构建动态数组} SetLength(arr, 5); arr[0] := 11; arr[1] := 22; arr[2] := 33; arr[3] := 44; arr[4] := 55; {查找} TArray.BinarySearch<Integer>(arr, 44, num); {显示查找结果} if num < Length(arr) then {如果 num = Length(arr) 就是没找到} ShowMessage(IntToStr(num)); {3} end; end.
使用泛型的Tarray从动态数组中查找数据
最新推荐文章于 2024-04-26 19:06:25 发布
本文介绍了一种在Delphi中利用TArray类实现二分查找的方法,分别针对字符串数组和整数数组进行了示例演示,并展示了如何通过BinarySearch方法找到指定元素的位置。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
ACE-Step
音乐合成
ACE-Step
ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言
454

被折叠的 条评论
为什么被折叠?



