§6 集合与记录类型§6
1 集合类型§6
1 集合类型的定义集合是同类型对象的一种汇集,它是指同类型对象汇集在一起构成的数据构造
集合的每一种对象称为集合的元素
集合元素必须是有序简单数据类型,集合元素的类型称为集合的基类型
集合的一般形式为:TYPE = set of ;基类型可以是整型、字符型、布尔型、枚举型、子界型等,但不能是实型或构造类型
例如: TYPE letter = set of ‘A’
‘Z’;var ch1, ch2 : letter;也可以直接写成: var ch1, ch2 : set of ‘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 中相似的元素构成
如: [ 0
7 ] * [ 0
4 ] = [ 0
4 ]·并(+)运算:两集合之并 S1+S2 为一集合,所得元素由 S1、S2 中所有相似的元素构成
如: [ 0
7 ] + [ 0
4 ] = [ 0
7 ] [ 0 , 1 ] + [