1、copy複製
1.1 將容器中指定範圍的元素拷貝到另一容器中
1.2 目標容器要有容量
2、replace按值替換
2.1 將區間內指定的舊元素替換為新元素
3、replace_if 按條件替換
3.1 將區間中符合條件的舊元素替換為新元素
4、swap 交換
4.1 交換兩個容器中的所有元素
#include"pch.h"
#include#include#include#include//ostream_iterator
using namespace std;
//copy 將容器中指定範圍的元素拷貝到另一容器中
void test01()
vectorvtarget;
vtarget.resize(v1.size());
copy(v1.begin(), v1.end(), vtarget.begin());
cout << "copy vtarget: " << endl;
/*for_each(vtarget.begin(), vtarget.end(), (int val) );
cout << endl;*/
//利用輸出流迭代器進行列印
copy(vtarget.begin(), vtarget.end(), ostream_iterator(cout," "));
cout << endl;
}//replace 將指定範圍內舊元素修改為新元素
//replace_if 按條件進行替換
class mycompare2
};void test02()
replace(v2.begin(), v2.end(), 3, 300);
cout << "after replace: " << endl;
copy(v2.begin(), v2.end(), ostream_iterator(cout, " "));
cout << endl;
//按條件進行替換
//將所有大於3的替換為300
replace_if(v2.begin(), v2.end(), mycompare2(), 3000);
cout << "after replace_if: " << endl;
copy(v2.begin(), v2.end(), ostream_iterator(cout, " "));
}//swap 互換兩個容器元素
void test03()
vectorv4(10, 100);
cout << "before swap: " << endl;
cout << "v3= ";
copy(v3.begin(), v3.end(), ostream_iterator(cout, " "));
cout << endl;
cout << "v4= ";
copy(v4.begin(), v4.end(), ostream_iterator(cout, " "));
cout << endl;
swap(v3, v4);
cout << "after swap: " << endl;
cout << "v3= ";
copy(v3.begin(), v3.end(), ostream_iterator(cout, " "));
cout << endl;
cout << "v4= ";
copy(v4.begin(), v4.end(), ostream_iterator(cout, " "));
}int main()
、測試程式 STL學習3常用演算法3 4常用查詢演算法
1 find 1.1 按元素查詢 2.2 提供查詢迭代器區間與查詢元素 返回迭代器 2 find if 2.1 按條件查詢 2.2 查詢區間 迭代器 查詢條件 一元謂詞,若為二元需繫結 2.3 返回迭代器 2.4 若為自定義資料型別 需要過載判斷條件 3 count 3.1 按元素統計 3.2 統計...
STL學習3常用演算法3 8常用集合演算法
1 set intersection 求兩個集合的交集 2 set union 求兩個容器的並集 3 set difference 求兩個集合的差集 4 兩集合必須是有序序列 5 返回結果最後乙個元素的迭代器位置 6 標頭檔案 include 7 測試程式 include pch.h include...
STL學習3常用演算法3 7常用算數生成演算法
1 標頭檔案 include 2 accumulate 2.1 計算容器元素累計總和 2.2 第三個引數是起始累加的值 3 fill 3.1 填充演算法 4 測試程式 include pch.h include include include accumulate includeusing name...