本文共 825 字,大约阅读时间需要 2 分钟。
便准函数库定义了名为partition的算法,它接受一个谓词,对容器进行划分,使得谓词为true的值会排在容器的前半部分,而谓词为false的值会排在后半部分。算法返回一个迭代器,指向最后一个使谓词为true的元素之后的位置。编写函数,接受一个string,返回一个bool值,指出string是否有5个或更多字符。使用此函数划分words。打印出长度大于等于5的元素。
#include#include #include #include using std::string;using std::vector;boolstring_length_greater_than_five(const string s) { return (s.size() >= 5);}intmain(void) { string s1; vector words; while (std::cin >> s1) { words.push_back(s1); } auto it = partition(words.begin(), words.end(), string_length_greater_than_five); std::cout << *it << std::endl; std::cout << "=======" << std::endl; for (auto iter : words) { std::cout << iter << std::endl; } std::cout << "=======" << std::endl; for (it --; it >words.begin(); it--) { std::cout << *it << std::endl; } while (1); return 0;}
转载地址:http://dqvmi.baihongyu.com/