STL的应用
2016-06-20 18:15
253 查看
#include <iostream> #include <deque> #include <list> #include <vector> #include<iterator> #include<fstream> #include <functional> #include <algorithm> using namespace std; template<typename Container > void ShowContainer(Container &con) { Container::const_iterator it=con.begin(); for ( ;it != con.end();++it) { cout<<*it<<" "; } cout<<endl; } int main() { //随机产生二十个数据放入deq中 int array[20]={0}; for (int i=0;i<20;i++) { array[i]=rand()%100+10; } deque<int> deq(array,array+20); //从小到大进行排序 sort(deq.begin(),deq.end()); ShowContainer(deq); //在合适位置插入50 deque<int>::iterator it2=find_if(deq.begin(),deq.end(),bind2nd(greater<int>(),50)); deq.insert(it2,50); ShowContainer(deq); //删除20到40区间的数 deque<int>::iterator it3=find_if(deq.begin(),deq.end(),bind2nd(greater<int>(),20)); deque<int>::iterator it4=find_if(deq.begin(),deq.end(),bind2nd(greater<int>(),40)); deq.erase(it3,it4); ShowContainer(deq); //将双端队列中的数据元素拷贝到双向链表中 list<int> mylist; copy(deq.begin(),deq.end(),back_inserter(mylist)); //copy(deq.begin(),deq.end(),front_inserter(mylist)); ShowContainer(mylist); //用户输入5个数据,将其添加到vector中,然后排序,输出到文件中 //方法一: cout<<"请输入数据"<<endl; int num=0; vector<int>vec; for (int i=0;i<5;i++) { cin>>num; vec.push_back(num); } sort(vec.begin(),vec.end()); ofstream ofile("num.txt",ios::out); vector<int>::iterator itt=vec.begin(); for ( ; itt != vec.end();++itt) { cout<<*itt<<" "; ofile<<*itt; } cout<<endl; //方法二: //输入流迭代器 istream_iterator 输出流迭代器 ostream_iterator vector<int> vec2; ofstream ofile2("data.txt",ios::out);//打开一个文件 //将用户输入的数据放入vec中,输入以不是Int引发的异常结束 copy(istream_iterator<int>(cin),istream_iterator<int>(),back_inserter(vec2)); sort(vec2.begin(),vec2.end());//将输入的数目排序 copy(vec2.begin(),vec2.end(),ostream_iterator<int>(cout," "));//输出到屏幕,以空格分隔开 copy(vec2.begin(),vec2.end(),ostream_iterator<int>(ofile2));//输出到文件 return 0; }
相关文章推荐
- Linux 查看系统硬件信息(实例详解)
- maven install 报错Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin
- SQL SERVER 正则匹配实例分享--【叶子】
- Linux MTD (Memory Technology Device) subsystem analysis -For Atheros char device
- js解析xml
- IBM Rational Rose 边用边整理
- (循环语句)小芳的妈妈每天给她2.5元钱,她都会存起来,但是,每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,请问,经过多少天,小芳才可以存到100元钱。(面试)
- node.js安装cnpm 提高下载速度
- VS配置OpenGL环境
- SQL Server遍历表的几种方法
- [leetcode] 【排序】 41. First Missing Positive
- 百度UEditor添加视频 增加支持“通用代码”功能,支持微信
- mac下添加安卓开发调试设备
- bootstrap-multiselect.js如何动态更新select里的数据
- 【java细节】 JAVAWeb部署经验:Maven包丢失、打包缺jar、classNotFound等
- Androd手机适配
- 查看Linux系统下Raid信息
- 自定义View--弹性小球
- 应用华云对象存储服务实现网站存储的平滑迁移实践
- Mybatis中的like模糊查询