#include #include#include
using
namespace
std;
//transform 將乙個容器的元素 搬運 到另乙個容器中
struct
myplus
};void myprint(int
val)
void
test01()
v2.resize(v1.size());
//開闢空間
transform(v1.begin(), v1.end(), v2.begin(), myplus());
for_each(v2.begin(), v2.end(), myprint);
cout
<< "
--------------------
"<常用的查詢演算法
void
test02()
vector
::iterator ret = find(v1.begin(), v1.end(), 5
);
if (ret ==v1.end())
else
cout
<< "
--------------------
"<}class
person
bool
operator== (const person&p)
public
:
intid;
intage;
};void
test03()
else
cout
<< "
--------------------
"<}bool mysearch(int
val)
bool mysearch2(int
val)
void
test04()
v1.push_back(9);
bool ret = binary_search(v1.begin(), v1.end(), 5
);
if(ret)
else
vector
::iterator it =adjacent_find(v1.begin(), v1.end());
if (it !=v1.end())
else
//find_f 會根據我們的條件(函式) ,返回第乙個滿足條件的元素的迭代器
it =find_if(v1.begin(), v1.end(), mysearch);
if (it !=v1.end())
else
//count count_if
int num = count(v1.begin(), v1.end(), 9
); cout
<< "
9出現的次數:
"<< num
cout
<< "
大於5的個數:
"<< num <}int
main()
c STL之常用排序演算法
sort 對容器元素進行排序 random shuffle 洗牌,指定範圍內的元素隨機調整次序 merge 容器元素合併,並儲存到另一容器中 reverse 反轉指定範圍內的元素 1.sort includeusing namespace std include include include 常用...
c STL之常用集合演算法
set intersection 求兩個容器的交集 set union 求兩個集合的並集 set difference 求兩個集合的差集 1.set intersection includeusing namespace std include include 常用集合演算法 set interse...
C STL 常用排序演算法
以下是排序和通用演算法 提供元素排序策略 merge 合併兩個有序序列,存放到另乙個序列。例如 vecinta,vecintb,vecintc是用vector宣告的容器,vecinta已包含1,3,5,7,9元素,vecintb已包含2,4,6,8元素 vecintc.resize 9 擴大容量 m...