c++ STL之 copy(权哥)
来源:互联网 发布:舞美设计用什么软件 编辑:程序博客网 时间:2024/06/09 15:20
这个demo演示STL容器间数据的拷贝方法:
#include <algorithm>#include <iostream>using namespace std;#include <vector>#include "print.h"#include <deque>/*模拟copy*/template < class Iter, class Pos >void co(Iter ib, Iter ie, Pos p){while(ib!=ie) *p++=*ib++;}/*模拟copy_backward*/template < class Iter, class Pos >void cb(Iter ib, Iter ie, Pos p){while(ib!=ie) *--p=*--ie;}int main(){int a[5]={3,9,2,6,8};int b[8]={0};vector<int> vi(a,a+5);sort(vi.begin(),vi.end());print(vi.begin(),vi.end());print(a,a+5,',');copy(vi.begin(),vi.end(),a);print(a,a+5,',');co(vi.begin(),vi.end(),b);print(b,b+8);copy_backward(b,b+5,b+8);//反向拷贝,此处出现了数据覆盖print(b,b+8);bool func(int);deque<int> v;co(a,a+5,back_inserter(v));//后插入print(v.begin(), v.end());co(a,a+5,front_inserter(v));//前插入print(v.begin(), v.end());v.clear();remove_copy_if(a,a+5,back_inserter(v),func);//条件拷贝:func返回bool 1print(v.begin(), v.end());}bool func(int n){return n&1;}/*输出:2 3 6 8 9 3,9,2,6,8,2,3,6,8,9,2 3 6 8 9 0 0 0 2 3 6 2 3 6 8 9 2 3 6 8 9 9 8 6 3 2 2 3 6 8 9 2 6 8 */
0 0
- c++ STL之 copy(权哥)
- STL Algorithms 之 copy
- STL algorithm之copy
- stl 之 copy copy_backward
- STL算法之copy
- STL之copy
- stl之算法copy
- STL之copy
- c++STL 中的copy函数
- C++ STL算法之:copy
- STL源码分析之copy算法
- STL算法之 copy、copy_backward、copy_n
- STL源码之copy算法分析
- stl::copy
- Objective-C 基础知识之 (十八):Copy NSString的Copy现象
- Object-c学习之路十二(OC的copy)
- C++STL之algorithm(一)
- c++STL之stack(堆栈)
- 从零开始-边学边做-塔防游戏-七彩三国(五)--SDL项目
- OpenGL学习(七) 矩阵学习
- 印刷电路板(PCB)的电磁兼容设计
- Makefile中的常用函数
- python,numpy等的安装方式以及Theano的安装、vim的python开发环境配置总结
- c++ STL之 copy(权哥)
- 有向网的各种功能实现
- 【九度】题目1001:A+B for Matrices
- ASP.NET 中的内置对象
- 用PROTEL DXP电路板设计的一般原则
- protobuf_实现rpc的初步原理
- 由servlet联想到struts
- TCP、套接字、单线程、控制台程序
- 高频电路布线技巧