用户自定义类型02 – 零基础入门学习Delphi32

用户自定义类型02

让编程改变世界

Change the world by program

集合类型的定义与使用

Delphi集合这个概念跟我们数学中的集合概念十分相似,集合是具有相同性质但又可以区分开来的对象的全体。

在Delphi中,集合的对象只能限定在某个范围之内,集合中的对象称为元素。

与数组、枚举和子界类型不同,集合中的元素是没有先后顺序的。

另外,集合中的元素是各不相同的,这与枚举和子界类型相似。

集合类型的定义格式如下

[格式]:

Type

    类型标识符 = set of 基类型;

我们可以这么定义:

Type

    Colors = (Red, Green, Blue, Yellow);

    Color = set of Colors;

    Char = set of ‘a'..‘z';

注意,集合类型的元素个数不能超过256,而且其序数值也必须在0~255范围之内。

例如,下面的定义是错误的:

type

    num = Set of 200..400;

集合类型也有两种方法声明:先定义类型,再声明变量;或者声明变量与定义类型合二为一

var

    Char1: Set of ‘a'..‘z';

在使用集合类型时需讲解三点:

集合变量的取值

集合的交、并和差运算

集合的各种关系运算。

对集合变量的取值,如果知道数学中集合的有关知识,就很容易理解。

集合变量的取值是一个集合,称为集合值,它包括空集合在内的全体子集。

例如,有n个元素的集合,其集合值有2^n个。

注意:

根据集合类型的定义,集合变量的取值与其元素的先后顺序无关;

集合中的重复元素视作同一个元素。

集合值的表示形式为:以方括号括起来的以逗号隔开的元素序列。

例如:[‘a’, ‘b’, ‘c’] 就是集合变量 Char1 的一个取值。

集合的交、并和差运算

[交运算的规则]

集合A和集合B的交运算,记作AB或者BA。

[1, 2, 3] * [3, 4, 5] 的值为 [3]

[‘a’, ‘c’, ‘b’] * [‘b’, ‘z’, ‘a’] 的值为 [‘a’, ‘b’]

[并运算的规则]

集合A与集合B的并运算,记作A+B或B+A。

[1, 2, 3] + [3, 4, 5] 的值为 [1, 2, 3, 4, 5]

[‘f’, ‘i’, ‘s’, ‘h’] + [‘c’] 的值为 [‘f’, ‘i’, ‘s’, ‘h’, ‘c’]

[差运算的规则]

集合A与集合B的差运算,即是求属于集合A而不属于集合B的元素组成的集合,记作A-B。

[1, 2, 3] – [3, 4, 5] 的值为 [1, 2]

集合的各种关系运算

集合各种关系运算,主要应掌握集合之间的相等“=”、不等“”、包含“>=”和被包含“

[等于]

当两种相同类型集合A和B的所有元素完全相同时,就说集合A等于集合B,即A=B或者B=A的值为True。

[被包含]

当集合A中的所有元素完全包含于相同类型的集合B中时,就说集合A包含于(即被包含)集合B,即A

[包含]

当集合A包含相同类型集合B中的所有元素时,就说集合A包含集合B,即A>=B的值为True。

[2, 3]

[2, 3] = [1, 2, 3] 的值为 False

[2, 3] >= [1, 2, 3] 的值为 False。

[属于]

运算“In”是针对数据或元素对集合而言的。

例题演示

宽客网,量化投资,宽客俱乐部

delphi演示程序

视频下载
技术, IT技术, Delphi, 视频教程

原文发布于宽客论坛,点击阅读原文



                                                    风险提示及免责条款

市场有风险,投资需谨慎。本文不构成个人投资建议,也未考虑到个别用户特殊的投资目标、财务状况或需要。用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部