C++algorithmライブラリでの一般的なアルゴリズムの例
18800 ワード
ブルーブリッジカップを用意する必要があるので、C++を復習して、ここで共有します.文章はプレゼンテーションの結果がなくて、みんなは自分でプレゼンテーションすることができます.
検索
vector<int> v{ 1, 2, 2, 3, 4, 5, 6, 6, 7, 8, 9, 0 };
//
adjacent_find(v.begin(), v.end());
//
binary_search(v.begin(), v.end(), 7);
//
count(v.begin(), v.end(), 6);
// 、LAMBDA
count_if(v.begin(), v.end(), [](int x) {return x >= 3; });
//
equal_range(v.begin(), v.end(), 2);
// end
find(v.begin(), v.end(), 9);
//
find_if(v.begin(), v.end(), [](int x) {return x >= 3; });
.
ツールバーの
vector <int> b{ 3, 3, 3, 4, 4, 5, 6, 9 };
vector <int> s(v.size() + b.size());
// // [](int x, int y) {return x >= y; }
sort(v.begin(), v.end());
//
merge(v.begin(), v.end(), b.begin(), b.end(), s.begin());
//
reverse(v.begin(), v.end());
//
random_shuffle(v.begin(), v.end());
.
コピーと置換
vector<int> c(v.size());
//
copy(v.begin(), v.end(), c.begin());
//
replace(c.begin(), c.end(), 2, 666);
//
swap(c, b);
//
fill(v.begin(), v.end(), 5);
.
しゅうごうアルゴリズム
vector<int> uni(v.size() + b.size());
sort(v.begin(), v.end());
sort(b.begin(), b.end());
//
//set_union(v.begin(), v.end(), b.begin(), b.end(), uni.begin());
//
//set_intersection(v.begin(), v.end(), b.begin(), b.end(), uni.begin());
//
//set_difference(v.begin(), v.end(), b.begin(), b.end(), uni.begin());
.
ループアルゴリズム
//各要素の遍歴は変更不可
for_each(uni.begin(), uni.end(), [](int x) {cout << x << endl; });
vector<char> str{ 'a','s','d','g','v'};
// ,
transform(str.begin(), str.end(), str.begin(), ::toupper);