Chapter 9: Challenges: Queue Data Structure
extension QueueArray: BoardGameManager {
public typealias Player = T
public mutating func nextPlayer() -> T? {
// 大富翁的順序FIFO,符合queue本質
guard let person = dequeue() else {
return nil
}
// 把next player再次加入queue中,等待下次循環
enqueue(person)
return person
}
}Last updated