1、equal(b,e,b2)
if(equal(ivec.begin(),ivec.end(),ilist.begin()))
cout << "這兩個區間相等" << endl;
else
cout << "這兩個區間不相等" << endl;
2、equal(b,e,b2,p)
bool bothevenorodd(int elem1, int elem2)
if(equal(ivec.begin(),ivec.end(),ilist.begin(),bothevenorodd))
else
3、mismatch(b,e,b2)
pair::iterator,list::iterator> values;
values = mismatch(ivec.begin(),ivec.end(),ilist.begin());
if(values.first == ivec.end())
else
4、mismatch(b,e,b2,p)
values = mismatch(ivec.begin(),ivec.end(),ilist.begin(),less_equal());
if(values.first == ivec.end())
cout << "沒找到! (always less-or-equal)" << endl;
else
cout << "找到了(not less-or-equal): " << *values.first << ", " << *values.second << endl;
return 0;
5、lexicographical_compare(b,e,b2,e2)
if(lexicographical_compare(c4.begin(),c4.end(),c1.begin(),c1.end()))
cout << "c4小於c1" << endl;
else
cout << "c4大於等於c1" << endl;
6、lexicographical_compare(b,e,b2,e2,p)
用於按字典序比較兩個序列,如果前者小於後者返回true,否則返回false。
7、sort中使用lexicographical_compare
bool lessforcollection(const list& list1, const list& list2)
sort(cc.begin(), cc.end(), lessforcollection);
C STL基本容器比較
在stl中基本容器有 string vector list deque set map set 和map都是無序的儲存元素,只能通過它提供的介面對裡面的元素進行訪問 set 集合,用來判斷某乙個元素是不是在乙個組裡面,使用的比較少 map 對映,相當於字典,把乙個值對映成另乙個值,如果想建立字典的話...
C STL基本容器比較
摘自 在stl中基本容器有 string vector list deque set map set 和map都是無序的儲存元素,只能通過它提供的介面對裡面的元素進行訪問 set 集合,用來判斷某乙個元素是不是在乙個組裡面,使用的比較少 map 對映,相當於字典,把乙個值對映成另乙個值,如果想建立字...
C STL的查詢演算法
假設你有乙個序列容器,或者有一對迭代器標識了乙個區間,現在你希望在容器中查詢一些資訊,這樣的查詢工作如何進行呢?你的選擇往往是 count,count if,find,find if,binary search,lower bound,upper bound,equal range.該如何選擇呢?現...