STL - 算法 - 普通拷贝

list<int> coll1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    vector<int> coll2;

    cout << "** collection 1: **" << endl;
    ContainerUtil<list<int>>::printElements(coll1);

    // resize to have enough room
    coll2.resize(coll1.size());
    copy(coll1.cbegin(), coll1.cend(), coll2.begin());

    cout << "** collection 2(copy collection 1): **" << endl;
    ContainerUtil<vector<int>>::printElements(coll2);

    // intit with enough room
    deque<int> coll3(coll1.size());
    copy(coll1.cbegin(), coll1.cend(), coll3.begin());

    cout << "** collection 3(copy collection 1): **" << endl;
    ContainerUtil<deque<int>>::printElements(coll3);

运行结果:

** collection 1: **
  1  2  3  4  5  6  7  8  9
** collection 2(copy collection 1): **
  1  2  3  4  5  6  7  8  9
** collection 3(copy collection 1): **
  1  2  3  4  5  6  7  8  9

时间: 2024-10-09 02:14:17

STL - 算法 - 普通拷贝的相关文章

C++提高5 STL算法 :查找,统计,排序,拷贝,替换,算术,集合 |STL 案例:学校演讲比赛介绍

[本文谢绝转载] <大纲> STL 算法 查找算法 adjacent_find()查找容器中重复元素的首地址 distance()根据迭代器,返回元素的下标 binary_search()二分查找:在有序的序列 find   查找函数 find_if 自定义查找函数 统计算法 count 返回容器中相同元素的个数 cout_if 统计大于3的元素个数 排序算法 marge()对两个有序容器组合到另一个容器 sort 自定义排序 random_shuffle 随机洗牌 基本数据类型 random

STL 算法[转 ]

STL 算法 STL算法概述 简介: STL算法部分主要由头文 件<algorithm>,<numeric>,<functional>组成.要使用 STL中的算法函数必须包含头文件<algorithm>,对于数值算法须包 含<numeric>,<functional>中则定义了一些模板类,用来声明函数对象 注意: 编译器无法检测出所传递的迭代器是一个无效形式的迭代器,当然也无法给出算法函数错误的提示,因为迭代器并不是真实的类别,它只是

STL算法 — copy

为了效率,copy算法可谓无所不用其极,通过分析copy算法能够体会STL的精妙. 首先是三个对外接口: template <class InputIterator, class OutputIterator> // 泛化版本 inline OutputIterator copy(InputIterator first, InputIterator last, OutputIterator result) { return __copy_dispatch<InputIterator,Ou

STL源码剖析——STL算法stl_algo.h

前言 在前面的博文中剖析了STL的数值算法.基本算法和set集合算法,本文剖析STL其他的算法,例如排序算法.合并算法.查找算法等等.在剖析的时候,会针对函数给出一些例子说明函数的使用.源码出自SGI STL中的<stl_algo.h>文件.注:本文的源码非常多,可能后续博文会对这些算法进行归类分析. STL算法剖析 #ifndef __SGI_STL_INTERNAL_ALGO_H #define __SGI_STL_INTERNAL_ALGO_H #include <stl_heap

【STL源码学习】STL算法学习之四

排序算法是STL算法中相当常用的一个类别,包括部分排序和全部排序算法,依据效率和应用场景进行选择. 明细: sort 函数原型: template <class RandomAccessIterator> void sort (RandomAccessIterator first, RandomAccessIterator last); template <class RandomAccessIterator, class Compare> void sort (RandomAcc

【STL源码学习】STL算法学习之三

第一章:前言 数量不多,用到的时候会很爽. 第二章:明细 STL算法中的又一个分类:分割:将已有元素按照既定规则分割成两部分.  is_partitioned 函数原型: template <class InputIterator, class UnaryPredicate> bool is_partitioned (InputIterator first, InputIterator last, UnaryPredicate pred); 函数作用: 如果序列被分为两部分,前一部分pred都

【STL源码学习】STL算法学习之二

第一章:前言 学习笔记,记录学习STL算法的一些个人所得,在以后想用的时候可以快速拾起. 第二章:明细 copy 函数原型: template <class InputIterator, class OutputIterator> OutputIterator copy (InputIterator first, InputIterator last, OutputIterator result); 函数作用: 将[first,last)区间的元素拷贝至result开头的迭代器区间,并返回赋值

STL 算法

STL 算法(本文转自:http://www.cnblogs.com/kzloser/archive/2012/11/02/2751424.html) 阅读目录如下: STL算法概述查找算法堆算法关系算法集合算法排列组合算法排序和通用算法删除和替换算法生成和变异算法算数算法 STL算法概述 简介: STL算法部分主要由头文件<algorithm>,<numeric>,<functional>组成.要使用 STL中的算法函数必须包含头文件<algorithm>

【转】STL算法 &lt;algorithm&gt;中各种算法解析

原文:http://blog.csdn.net/tianshuai1111/article/details/7674327 一,巡防算法 for_each(容器起始地址,容器结束地址,要执行的方法) #include <iostream> #include <algorithm> #include <vector> using namespace std; template<class T> struct plus2 { void operator()(T&