您的位置:首页 > 编程语言 > Go语言

STL - vector algorithm

2015-08-24 18:59 429 查看
// create vector with elements from 1 to 6 in arbitrary order
vector<int> coll = { 2, 5, 4, 1, 6, 3 };

// find and print minimum and maximum elements
auto minpos = min_element(coll.cbegin(), coll.cend());
cout << "min: " << *minpos << endl;
auto maxpos = max_element(coll.cbegin(), coll.cend());
cout << "max: " << *maxpos << endl;

cout << "original vector:" << endl;
ContainerUtil<vector<int>>::printElements(coll);
// sort all elements
sort(coll.begin(), coll.end());
cout << "after sorting:" << endl;
ContainerUtil<vector<int>>::printElements(coll);

// find the first element with value 3
// - no cbegin()/cend() because later we modify the elements pos3 refers to
auto pos3 = find(coll.begin(), coll.end(), 3);

// reverse the order of the found element with value 3 and all following elements
reverse(pos3, coll.end());
cout << "after reverse from the position of value 3:" << endl;
ContainerUtil<vector<int>>::printElements(coll);


运行结果:

min: 1
max: 6
original vector:
2 5 4 1 6 3
after sorting:
1 2 3 4 5 6
after reverse from the position of value 3:
1 2 6 5 4 3
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: