C++STL隨手筆記(二)List容器的splice及std::partition用法
来源:互联网 发布:淘宝背景图片素材大全 编辑:程序博客网 时间:2024/03/29 22:18
list容器內建splice這個函數,可以將容器依指定範圍切割,
以及std的partition可以對容器中的元素進行條件篩選並排續,
稱著記憶猶新趕快記錄下來用法。
#include <list>#include <iostream>#include <algorithm>#include <random>#include <string>using namespace std;class data{public:data(int n):m_data(n){};virtual ~data(){};int m_data;}//宣告要儲存的資料類;int main(int argc,char **argv){//隨機引擎std::random_device RD;auto seed=RD();std::mt19937EN;std::uniform_int_distribution<int> di(1,100);list<data> DataList;//初始化每個元素for(int i=1;i!=11;i++){data a(di(EN));DataList.push_back(a);}//創建一個空白的liststd::list<data> empty;//使用splice來將原有在datalist中的元素轉移過去//splice使用方式//list.splice(參數1,參數2,參數3,參數4);//參數一:位置//在新容器中x的元素插入的位置(迭代器)。////參數二:相同類型的列表對象(如本例當有相同元素data的list)(容器)。////參數三、參數四://原容器中被剪接下來的範圍(迭代器)empty.splice(empty.begin(),DataList,DataList.begin(),DataList.end());//將原有容器所有元素移到新容器,Datalist變為空//利用lambda函數來將新容器的值打印for_each(empty.begin(),empty.end(),[](const data d){cout<<d.m_data<<endl;});cout<< "par is"<<partition_val.m_data<<endl<<endl;//使用partition函數進行排列std::partition(empty.begin(),empty.end(),[&](data const& d){return d.m_data%2==1;//假如元素是基數則往前排列});cout<<string(50,'=')<<endl;//打印經過partition函數之後的值for(auto a:empty){cout<<a.m_data<<endl;}return 0;}
0 0
- C++STL隨手筆記(二)List容器的splice及std::partition用法
- 【语言-C++】STL std::list的使用
- std::list::splice
- C++/STL std::string 的用法
- STL — list容器用法的详解
- 【C++】容器list的用法
- 顺序容器STL::list用法
- STL--list用法(二)
- C++STL中vector容器的用法
- C++STL中vector容器的用法
- C++STL中vector容器的用法
- C++STL中vector容器的用法
- C++STL中vector容器的用法
- C++STL中vector容器的用法
- C++STL中vector容器的用法
- C++STL中vector容器的用法
- std::vector与std::list的执行速度比较 (C/C++) (STL)
- std::vector与std::list的执行速度比较 (C/C++) (STL)
- javassist入门
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
- BZOJ2693——jzptab
- 相邻两数最大差值
- Java创建包
- C++STL隨手筆記(二)List容器的splice及std::partition用法
- POJ 2429 GCD & LCM Inverse 已翻译
- SSL P1762 工厂的烦恼
- 移动端:active,:hover无法很好触发动画的解决方案
- RobotFrameWork(七)数据驱动之Template模板
- 二叉树重建
- vtkPropPicker无法拾取vtkRenderer中的vtkLineSource的解决方案
- cnn学习之训练和测试数据集处理
- Android 面试题