下面搜到的set的一些說明在這裡搜到的
然後寫了白書上的乙個例題(uva11020),書上寫的比較詳細,有一點沒有說明(其實也挺直觀的。。。),就是在刪除時只需要掃瞄到第乙個縱座標小於當前插入的點的點就可以停止了,因為set維護的都是優勢點,所以y座標按著這玩意的性質應該是遞減的。code
set的基本操作:
begin() 返回指向第乙個元素的迭代器
clear() 清除所有元素
count() 返回某個值元素的個數
empty() 如果集合為空,返回true
end() 返回指向最後乙個元素的迭代器
equal_range() 返回集合中與給定值相等的上下限的兩個迭代器
erase() 刪除集合中的元素
find() 返回乙個指向被查詢到元素的迭代器
get_allocator() 返回集合的分配器
insert() 在集合中插入元素
lower_bound() 返回指向大於(或等於)某值的第乙個元素的迭代器
key_comp() 返回乙個用於元素間值比較的函式
max_size() 返回集合能容納的元素的最大限值
rbegin() 返回指向集合中最後乙個元素的反向迭代器
rend() 返回指向集合中第乙個元素的反向迭代器
size() 集合中元素的數目
swap() 交換兩個集合變數
upper_bound() 返回大於某個值元素的迭代器
value_comp() 返回乙個用於比較元素間的值的函式
code
#include #include #include using
namespace std;
struct point;
ite=s.lower_bound(p);
if((ite!=s.begin())&&
((--ite)->y<=y))
s.insert(p);
ite=s.upper_bound(p);
while((ite!=s.end())&&
(ite->y>=y) )
s.erase(ite++);
printf("%d\n",s.size());}}
return 0;
}
STL學習2常用容器2 7set multiset
一 set容器 1 關聯式容器,內部插入資料時候自動排序,不允許插入重複的key值 2 set multiset容器不可以通過迭代器修改裡面的元素,因為預設有了排序規則,其底層實現是紅黑樹,紅黑樹是平衡二叉樹的一種 3 樹的簡單知識 3.1二叉樹 任何節點最多隻允許有兩個子節點,分別為左子節點和右子...
STL學習筆記
1.stl六大元件 1 容器 各種資料結構,如vector,list,deque,set,map,用來存放資料,從實現的角度看,stl容器是一種class template。2 演算法 各種常用的演算法如sort,search,copy,erase.從實現的角度看,stl演算法是一種function...
STL學習筆記
容器是用來存放資料的,掌握容器特性才能更好地選擇合適的容器載資料。這裡要記住,可自主選擇插入的位置 vectors 可隨機訪問,可變長陣列,可快速在尾部插入刪除,不適合在中部頭部頻繁插入刪除 deques 可隨機訪問,佇列,先進先出,可快速在頭部尾部插入刪除,同樣不適合在中部插入刪除元素 list ...