排队、出列

2019-01-29  本文已影响6人  sky_fighting

有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
上一篇 下一篇

猜你喜欢

热点阅读