§6集合与记录类型§6
1集合类型§6
1集合类型的定义集合是同类型对象的一个汇集,它是指同类型对象汇集在一起构成的数据结构
集合的每一个对象称为集合的元素
集合元素必须是有序简单数据类型,集合元素的类型称为集合的基类型
集合的一般形式为:TYPE=setof;基类型可以是整型、字符型、布尔型、枚举型、子界型等,但不能是实型或结构类型
例如:TYPEletter=setof‘A’
‘Z’;varch1,ch2:letter;也可以直接写成:varch1,ch2:setof‘A’
‘Z’;在Pascal中集合是用一组括在方括号中的元素来表示,元素之间用逗号分隔
如:[A,B,C,D]是四个枚举量的集合[1
20]表示1到20的所有整数的集合[‘0’]是单元素集[]表示空集一个集合类型变量的取值,可以是基类型中所有元素按不同的组合而构成的子集
例如,上面说明变量ch1的类型是letter,它可以是下列的组合:[‘A’
‘Z’]全集[‘A’,‘B’,‘Q’]任一子集[‘A’
‘C’,‘X’
‘Z’][‘A’]单元素集[]空集空集与所有的集合类型都兼容
2集合类型的运算ch1:=[[‘A’
‘C’]];是合法的集合赋值
对集合除可以进行赋值运算外,还可以进行以下运算:·交(*)运算:两集合之交S1*S2为一集合,所得元素由S1、S2中相同的元素组成
4]·并(+)运算:两集合之并S1+S2为一集合,所得元素由S1、S2中所有相同的元素组成
7][0,1]+[1,4,6]=[0,1,4,6]·差(-)运算:两集合之差S1-S2为一集合,所得元素由只存在于S1而不在S2的那些元素组成
7]·比较运算:集合可进行“=”、“>=”、“=”——S