小千
交作业
func getSubsetsOfSet2<T>(set: Set<T>) -> Array<Set<T>> {
let elements = Array(set)
return getSubsetsOfSet4(elements: elements, index: elements.count-1)
}
func getSubsetsOfSet4<T>(elements: Array<T>, index: Int) -> Array<Set<T>> {
var subSets = Array<Set<T>>() // 子集的数组
// 先添加空集
subSets.append(Set([]))
// 以下获取每位元素加入的非空子集
for element in elements{
for subSet in subSets{
var subSetWithCurrent = subSet
subSetWithCurrent.insert(element)
subSets.append(subSetWithCurrent)
}
print("当前元素为:\(element),【选】,子集为:\(subSets)")
}
print(">>>>>>>>>>所有子集为:\(subSets)")
return subSets
}
let set0:Set<Int> = [1,2,3]
getSubsetsOfSet2(set: set0)