February 2019
Intermediate to advanced
332 pages
4h 23m
Japanese
優先度付きキューを表すデータ構造を書きなさい。優先度が最大の要素の取得が定数時間に、要素の追加削除が対数時間計算量になるようにしなさい。キューは新たな要素を末尾に挿入し、先頭から要素を削除します。デフォルトでは、キューは要素を比較するためにoperator<を用いますが、第1引数が第2引数より小さいとtrueを返す比較関数オブジェクトをユーザが与えることができるようにしなさい。実装では、少なくとも次の操作ができなければなりません。
push():新たな要素の追加pop():先頭要素の削除top():先頭要素へのアクセスsize():キューにある要素の個数empty():キューが空かどうか固定長のリングバッファ(ring buffer, circular buffer)を表すデータ構造を作りなさい。リングバッファでは、固定サイズを超えて要素が追加されると既存の要素を上書きします。クラスには次の機能が含まれます。
empty(), full(), size(), capacity() ...Read now
Unlock full access