代码如下:
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using std::vector;
using std::string;
using std::cout;
bool isfirsta(string s)
{
return (s[0] == 'a' || s[0] == 'A');
}
bool isnotfirsta(string s)
{
return (s[0] != 'a' && s[0] != 'A');
}
int _tmain(int argc, _TCHAR* argv[])
{
string s[6] = { "pear", "apple", "peach","grape","kiwifruit","ashis"};
vector<string> vs(s, s+6);
sort(vs.begin(), vs.end());
vector<string>::iterator vscp1 = find_if(vs.begin(), vs.end(), isfirsta);
vector<string>::iterator vscpe = find_if(vscp1, vs.end(), isnotfirsta);
if (vscp1 == vscpe)
{
cout << *vscp1;
cout << "\n";
}
else
{
for (vector<string>::iterator iter = vscp1; iter != vscpe; iter++)
{
cout << *iter;
cout << "\n";
}
}
return 0;
}