有5个人排列,编号分别为‘a,b,c,d,e’,当数到第三个人的时候出列,并输出这个人的编号,然后再接着从1开始数,直至全部出列,看下图示例:
示例图
代码示例
let numberArr : [String] = ["a", "b", "c", "d", "e"]
lineNum(number: 3, numArr: numberArr)
核心代码
// MARK: - 排队,每数到第三个人出列,并输出编号
func lineNum(number: Int, numArr: [String]) {
// 存储输出的编号
var outputArr : [String] = []
// 标记当前数到的数字
var flag = 0
// 标记是第几次输出
var times = 0
while times < numArr.count {
for i in 0 ..< numArr.count {
if !outputArr.contains(numArr[i]){
flag += 1
if flag == number{
times += 1
print("第" + "\(times)" + "次输出编号" + numArr[i])
outputArr.append(numArr[i])
flag = 0
}
}
}
}
}
结果输出:
第1次输出编号c
第2次输出编号a
第3次输出编号e
第4次输出编号b
第5次输出编号d
网友评论