set的二分查找

set支持二分查找,毕竟它本身就是一个平衡树(似乎是传说中的红黑树?)。同时erase操作也很方便,演示:

set<int>s;
for(int i=1;i<=5;i++)s.insert(i);
//data in set:1 2 3 4 5

set<int>::iterator it=s.lower_bound(2);
printf("%d\n",*it);s.erase(it);
//data in set:1 3 4 5

printf("%d\n",*s.lower_bound(1));
s.erase(s.begin());
//data in set:3 4 5

printf("%d\n",*s.lower_bound(1));

output:

2
1
3
posted @ 2022-07-26 18:01  Feyn618  阅读(383)  评论(0编辑  收藏  举报