swiftvar max:Int! var data:[Any] = [] init(_ max:Int) { self.max = max } func enqueue(_ obj:Any) -> Bool { if data.count > self.max - 1 { return false } data.append(obj) return true } func dequeue() -> Any? { if data.count > 0 { let obj = data[0] data.remove(at: 0) return obj } return nil } しかしこのアルゴリズムは、問題があります。とくにC言語の場合で、致命的な問題になる場合があります。 このプログラムでは配列の先頭を削除してますが、内部では同時に配列全体を前方にシフトする処理を行っているので、配列が大