私は欲しい:
- std::map のような二分探索木 C ライブラリ
- lower_bound 操作あり
- 削除間で安定した反復子を使用
C++ の用語では、次のものが必要です。
typedef std::map<K,V> map;
typedef map::iterator iter;
map m;
...
for (iter it = m.lower_bound(x); it != m.end(); )
{
if (is_bad(it->second))
m.erase(it++);
else
it++;
}
ただし、C++ は使用できません。libavl を試してみましたが、lower_bound 操作がなく、AFAIU 削除後のトラバース ブレークもありません。