#include <iostream>
#include <iterator>
#include <map>
#include <queue>
#include <algorithm>
#include <vector>
#include <list>
#include <numeric>
using namespace std;
class LessThan9
{
public:
bool operator()(int n)
{
return n < 9;
}
};
void OutputSquare(int value)
{
cout << value * value << " ";
}
int OutputCube(int value)
{
return value * value * value;
}
int main()
{
const int Size = 10;
int a1[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int a2[] = {100, 2, 8, 1, 50, 3, 8, 9, 10, 2};
vector<int> ivec(a1, a1 + Size);
ostream_iterator<int> output(cout, " ");//对于没输出一个整数,在后面接着输出一个空格
random_shuffle(ivec.begin(), ivec.end());
cout << "1)";
copy(ivec.begin(), ivec.end(), output);
cout << endl;
copy(a2, a2 + Size, ivec.begin());
cout << "2)";
cout << count(ivec.begin(), ivec.end(), 8);
cout << endl;
cout << "3)";
cout << count_if(ivec.begin(), ivec.end(), LessThan9());
cout << endl;
cout << "4)";
cout <<*(min_element(ivec.begin(),ivec.end()));
cout << endl;
cout << "5)";
cout << *(max_element(ivec.begin(), ivec.end()));
cout << endl;
cout << "6)";
cout << accumulate(ivec.begin(), ivec.end(), 0);
cout << endl;
cout << "7)";
for_each(ivec.begin(), ivec.end(), OutputSquare);
vector<int> cubes(Size);
transform(a1, a1+ Size, cubes.begin(),OutputCube);
cout << endl;
cout << "8)";
copy(cubes.begin(), cubes.end(), output);
return 0;
}
STL的几个算法应用
最新推荐文章于 2024-04-23 23:39:40 发布