参考: スラスラわかるC++ 第2版, pp.397-404
<algorithm>
をインクルードする。
sort()
、find()
、count()
、reverse()
、replace()
を試してみる。
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main(){ // 適当に可変長排列を宣言しておく。 vector <int> arr = {1,1,1,3,6,5,2,8,5,9,4,6,8,3,2,5,7,999,999,999}; // 昇順に並べ換える。元の排列は破壊される。 sort(arr.begin(), arr.end()); for (int i = 0; i < arr.size(); i++) { cout << arr[i] << ","; } cout << endl; // 降順に並べ換える。元の排列は破壊される。 sort(arr.rbegin(), arr.rend()); for (int i = 0; i < arr.size(); i++) { cout << arr[i] << ","; } cout << endl; // 何かを探索する。よくわからない。 vector <int>::iterator it = find(arr.begin(), arr.end(), 999); // 整数999を探索し、探索結果(イテレータ)を取得する。 if (it != arr.end()) {cout << *it << " found" << endl;} else {cout << "not found" << endl;} // 特定の要素の個数を取得する。ここでは8がいくつ含まれているのかを返す。 cout << count(arr.begin(), arr.end(), 8) << endl; ////////////////////////////////////////////////////////////////////// // 適当に可変長排列を宣言しておく。 vector <int> ARR = {20,20,10,10,30,30}; // 逆順に並べ換える。元の排列は破壊される。 reverse(ARR.begin(), ARR.end()); for (int i = 0; i < ARR.size(); i++) { cout << ARR[i] << ","; } cout << endl; // 要素を置換する。元の排列は破壊される。 replace(ARR.begin(), ARR.end(), 10, 555); for (int i = 0; i < ARR.size(); i++) { cout << ARR[i] << ","; } cout << endl; return 0; }