haskell Set用法
时间: 2024-12-20 14:03:08 浏览: 24
Haskell中的`Set`是一个无序、无重复元素的数据结构,它实现了集合操作,如成员测试、插入、删除等。`Set`通常由`Data.Set`模块提供,该模块中的`HashSet`是最常用的实现。以下是`Set`的一些基本用法:
1. 导入模块:
```haskell
import Data.Set (Set)
```
2. 创建空集:
```haskell
emptySet :: Set a
emptySet = HashSet []
```
或使用`fromList`创建初始集合:
```haskell
mySet :: Set Int
mySet = fromList [1, 2, 3]
```
3. 插入元素:
```haskell
insertElement :: Ord a => a -> Set a -> Set a
insertElement x s = insert x s
```
4. 成员测试(即检查元素是否在集合中):
```haskell
member :: Ord a => a -> Set a -> Bool
member x s = x `elem` s
```
5. 删除元素(Haskell的`Set`不支持直接删除元素,如果需要移除元素,可以创建一个新的`Set`不包含该元素):
```haskell
notMember :: Ord a => a -> Set a -> Bool
notMember x s = not $ member x s
```
6. 集合操作:如并集、交集、差集等:
```haskell
union :: Ord a => Set a -> Set a -> Set a
intersection :: Ord a => Set a -> Set a -> Set a
difference :: Ord a => Set a -> Set a -> Set a
```
7. 遍历集合:
```haskell
elems :: Set a -> [a]
```
阅读全文