とりあえず(?)作ってみた。(手荷物一時預かり 編)その6。

東方算程譚:手荷物一時預かり
一度頭の中をまとめておくっと。

  • setは挿入時にsortを行うコンテナであり、2分木構造で要素を保持する(らしい)。なので、検索時には最初に挿入した要素がもっとも早く見つかる(はず)。と、いう前提。
  • 要素に0を挿入し検索時のキー値とする。
  • 貸し出した要素は正の数として格納し、返却された要素は符号を負に変えて格納する。
  • 返却された要素は一度貸し出された要素であり、貸し出された要素の最大より大きくなることは無い。
  • 返却された要素はその中で最小の要素(の絶対値)が次回の貸し出す要素となる。
  • 上記は要素0の持つIndex-1の位置に必ず格納されている。
  • 返却された要素が無ければ(すべてが貸し出された状態であれば)、新たに貸し出された要素の最大+1の要素を用意し貸し出す。
  • 貸し出された要素の一覧は格納された要素のうち正の数をとるものである。
  • 返却された要素の一覧は格納された要素のうち負の数をとるもの(の絶対値)である。
ふぅ・・・晩御飯ナニかな・・・?