扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:徐景周 来源:51CMM 2007年10月28日
关键字: Linux
struct counter { typedef int result_type; counter(result_type init=0):n(init){} result_type operator() { return n++;} result_type n; } |
template<class Number> struct even // 函数对象even,找出第一个偶数 { bool operator()(Number x) const {return (x&1) == 0;} } // 使用算法find_if在区间A到A+N中找到满足函数对象even的元素 int A[] = {1,0,3,4}; const int N=sizeof(A)/sizeof(int); find_if(A,A+N, even<int>()); |
struct ltstr { bool operator()(const char* s1, const char* s2) const { return strcmp(s1<s2) < 0;} }; // 使用函数对象ltstr,输出set容器中A和B的并集 const int N=3 const char* a[N] = {“xjz”,”xzh”,”gh”}; const char* b[N]= {“jzx”,”zhx”,”abc”}; set<const char*,ltstr> A(a,a+N); set<const char*,ltstr> B(b,b+N); set_union(A.begin(),A.end(),B.begin(),B.end(), ostream_iterator<const char*>(cout,” “), ltstr()); |
// 将A中以元素5为分割点,分别排序,使排序后5后面的元素都大于5之前的元素(后区间不排序),然后输出 int main() { int A[] = {7,2,6,4,5,8,9,3,1}; const int N=sizeof(A)/sizeof(int); vector<int> V(A,A+N); partial_sort(V,V+5,V+N); copy(V,V+N,ostream_iterator<int>(cout,” “)); cout << endl; } |
// 产生一空list,插入元素后排序,然后输出 int main() { list<int> L1; L1.push_back(0); L1.push_front(1); L1.insert(++L1.begin,3); L1.sort(); copy(L1.begin(),L1.end(),ostream_iterator<int>(cout,” “)); } |
int main() { deque<int> Q; Q.push_back(3); Q.push_front(1); Q.insert(Q.begin()+1,2); Copy(Q.begin(),Q.end(),ostream_iterator<int>(cout,” “)); } |
int main() { map<string,int> M; M.insert(make_pair(“A”,11); pair<map<string,int>::iterator, bool> p = M.insert(make_pair(“C”,5)); if(p.second) cout << p.first->second<<endl; } |
int main() { const int N = 5; int a[N] = {4,1,1,3,5}; multiset<int> A(a,a+N); copy(A.begin(),A.end(),ostream_iterator<int>(cout,” “)); } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者