Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var head:Int = 0
- var num:Int = 0
- var max:Int = 0
- var data:[Any]!
- var debug = false
- init(_ max:Int) {
- self.max = max
- self.data = Array<Any>(repeating: -1, count: max)
- }
- @discardableResult
- func enqueue(_ obj:Any) -> Bool { // キューが一杯だったらfalseを返す
- if num < max {
- self.data[(head + num) % max] = obj
- num = num + 1
- return true
- }
- return false
- }
- @discardableResult
- func dequeue() -> Any? {
- if num > 0 {
- let obj = data[head]
- data[head] = -1
- num = num - 1
- head = (head + 1) % max;
- return obj
- }
- return nil
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement