文章标题
来源:互联网 发布:网络彩票赌博怎么举报 编辑:程序博客网 时间:2024/06/15 08:06
/*//vector(向量)类模板#pragma warning(disable:4186) //消除编译警告信息#include<vector>int main(){ vector<int> vec1; cout<<"ok!"<<endl; return 0;}*//*#include<vector>#include<string>#include<iostream>using namespace std;int main(){ vector<int>vec1; vec1.reserve(5); vec1.push_back(10); vec1.push_back(20); vec1.push_back(30); vec1.push_back(40); vector<int>::iterator it1; //定义一个迭代器对象 for(it1=vec1.begin();it1!=vec1.end();++it1) //用迭代器遍历整个容器 cout<<*it1<<endl; vector<string> vec; //vector是类模板,使用时,先定义类对象 vec.reserve(4); //预先设置容器的容量 cout<<"the size is 4"<<endl; vec.push_back("1.Yangyang"); //向容器中添加元素 vec.push_back("2.Lijian"); vec.push_back("3.Eson"); //vec.push_back("4.Leijiayin"); cout<<"OK!"<<endl; vector<string>::iterator it; //定义一个迭代器对象 for(it=vec.begin();it!=vec.end();++it) //用迭代器遍历整个容器 cout<<*it<<endl; int m = vec.size(); //返回容器中现有的元素个数 int n = vec.capacity(); //返回容器中能够容纳的元素个数 int k = vec.max_size(); //返回容器所能容纳的最大元素数 cout<<"vector:vec,size is"<<m<<endl; cout<<"vector:vec,capacity is"<<n<<endl; cout<<"vector:vec,max_size is"<<k<<endl; vec.resize(10); //修改容器的大小 cout<<"resize 10 "<<endl; int n1=vec.capacity(); int n2=vec.size(); cout<<"vector:vec,capacity is"<<n1<<endl; cout<<"vector:vec,size is"<<n2<<endl; for(it=vec.begin();it!=vec.end();++it) { if(*it=="") cout<<"**********"<<endl; cout<<*it<<endl; } return 0;}*//*#include<vector> #include<iostream>using namespace std;struct ST //定义结构体类型{ int id; double db;};void Origin(int num,vector<ST>&vt) //定义初始化函数{ int m=num; ST temp; for(int i=0;i<m;++i) { temp.id=i+1; temp.db=(i+1)*10; vt.push_back(temp); //初始化向量 }}int main(){ ST tmp; vector<ST> vec; Origin(5,vec); int size=vec.size(); cout<<"size is "<<size<<endl; while(!vec.empty()) { tmp=vec.back();//输出尾部的元素 cout<<"id "<<tmp.id<<"db "<<tmp.db<<endl; vec.pop_back(); //弹出末尾元素 } return 0;}*//*#include<iostream>#include<vector>using namespace std;struct ST //定义结构体类型{ int id; double db;};void Iter_for(vector<ST> &vt) //用迭代器遍历vector向量容器{ ST temp; vector<ST>::iterator iter; for(iter=vt.begin();iter!=vt.end();iter++) { temp=*iter; cout<<"id: "<<temp.id<<"db: "<<temp.db<<endl; }}void at_for(vector<ST> &vt) //用at()函数遍历vector向量容器{ ST temp; int i=0; int m=vt.size(); for(i=0;i<m;++i) { temp=vt.at(i); cout<<"id: "<<temp.id<<"db: "<<temp.db<<endl; }}void Origin(int num,vector<ST>&vt) //定义初始化函数{ int m=num; ST temp; for(int i=0;i<m;++i) { temp.id=i+1; temp.db=(i+1)*10; vt.push_back(temp); //初始化向量 }}int main(){ ST tmp; vector<ST> vec; Origin(5,vec); int size=vec.size(); cout<<"size is "<<size<<endl; cout<<"Iterator output "<<endl; Iter_for(vec); cout<<"at() output "<<endl; at_for(vec); cout<<"empty() usage:"<<endl; while(!vec.empty()) { tmp=vec.back();//输出末尾元素 cout<<"id "<<tmp.id<<"db "<<tmp.db<<endl; vec.pop_back(); //弹出末尾元素 } return 0;}*//*//函数模板的使用//for_each() count_if()函数的使用#include<iostream>#include<vector>#include<algorithm>using namespace std;struct Student{ int id; double score;};template<class T>void Original(T &vt) //初始化{ Student temp; temp.id=1; temp.score=90; vt.push_back(temp); temp.id=2; temp.score=95; vt.push_back(temp); temp.id=3; temp.score=98; vt.push_back(temp); temp.id=4; temp.score=97; vt.push_back(temp); temp.id=5; temp.score=95; vt.push_back(temp); temp.id=6; temp.score=90; vt.push_back(temp);}void out(Student &stu){ cout<<" stu--id: "<<stu.id<<" "<<"stu--score: "<<stu.score<<endl;}bool greater95(Student &stu){ if(stu.score>=95.0) { return 1; } return 0;}int main(){ vector<Student> vec; vector<Student>::iterator it; int countV=0; Original(vec); for_each(vec.begin(),vec.end(),out); countV=count_if(vec.begin(),vec.end(),greater95); cout<<"大于95分的人数: "<<countV<<endl; return 0;}*//*//find() find_if()#include<iostream>#include<vector>#include<algorithm>#include<functional>using namespace std;void print(const int &temp){ cout<<temp<<endl;}int main(){ const int arr_size=8; int arr[arr_size]={0,1,2,3,4,5,6,7}; vector<int> vec; vector<int>::iterator location_index; for(int i=0;i<8;++i) { vec.push_back(arr[i]); } for_each(vec.begin(),vec.end(),print); location_index = find(vec.begin(),vec.end(),2); cout<<"2的下标是: "<<((location_index)-vec.begin())<<endl; location_index = find_if(vec.begin(),vec.end(),bind2nd(greater<int>(),5)); cout<<"第一个大于5的数字下标为: "<<(location_index-vec.begin())<<endl; return 0;}*//*//排序:sort()的使用#include<iostream>#include<vector>#include<algorithm>#include<string>using namespace std;class student{ public: student(const string &a,double b):name(a),score(b){} string name; double score; bool operator < (const student &m)const//小于的运算符重载函数 { return score < m.score; }};bool name_sort_less(const student &m,const student &n){ return m.name<n.name;}bool name_sort_greater(const student &m,const student &n){ return m.name>n.name;}bool score_sort_greater(const student &m,const student &n){ return m.score>n.score;}void print(student &s){ cout<<s.name<<"\t"<<s.score<<endl;}void Original(vector<student> &v){ student st1("Tom",74); v.push_back(st1); st1.name="Yang"; st1.score=90; v.push_back(st1); st1.name="Lijian"; st1.score=98; v.push_back(st1); st1.name="Eason"; st1.score=87; v.push_back(st1); st1.name="Kkw"; st1.score=78; v.push_back(st1); st1.name="Jony"; st1.score=75; v.push_back(st1);} int main() { vector<student> vec; Original(vec); cout<<"********************排序前*****************"<<endl; for_each(vec.begin(),vec.end(),print); sort(vec.begin(),vec.end()); //默认按照数字从小到大排序 cout<<"********************排序后*****************"<<endl; for_each(vec.begin(),vec.end(),print); sort(vec.begin(),vec.end(),name_sort_less); cout<<"*************按name从小到大排序*************"<<endl; for_each(vec.begin(),vec.end(),print); sort(vec.begin(),vec.end(),name_sort_greater); cout<<"*************按name从大到小排序*************"<<endl; for_each(vec.begin(),vec.end(),print); sort(vec.begin(),vec.end(),score_sort_greater); cout<<"*************按score从大到小排序*************"<<endl; for_each(vec.begin(),vec.end(),print); return 0; }*//*#include<iostream>#include<vector>#include<algorithm>using namespace std;void OutToScreen(int &Ele){ cout<<Ele<<",";}*//*//插入元素:push_back() 尾插 insert() 向任意位置插入int main(){ vector<int> vec; for(int i=0;i<10;++i) { vec.push_back(i); } vec.insert(vec.begin(),-1); for_each(vec.begin(),vec.end(),OutToScreen); cout<<endl; vec.insert(vec.end(),-2); for_each(vec.begin(),vec.end(),OutToScreen); cout<<endl; vector<int> vt; vt.push_back(-80); vt.push_back(-90); vt.push_back(-70); vt.push_back(-50); vec.insert(vec.end(),vt.begin(),vt.end()); for_each(vec.begin(),vec.end(),OutToScreen); cout<<endl; vec.insert(vec.begin(),3,0); for_each(vec.begin(),vec.end(),OutToScreen); cout<<endl;}*//*//删除 pop_back() 删除末尾元素 // clear() 删除全部元素// erase() 删除任意位置元素int main(){ vector<int> vec; for(int i=0;i<10;++i) { vec.push_back(i); } for_each(vec.begin(),vec.end(),OutToScreen); cout<<endl; cout<<"************从尾删除**********************"<<endl; while(!vec.empty()) { vec.pop_back(); //弹出vector末尾元素 for_each(vec.begin(),vec.end(),OutToScreen); cout<<endl; } vec.clear();//清空vector型容器 for(int j=0;j<10;++j) { vec.push_back(j); } for_each(vec.begin(),vec.end(),OutToScreen); cout<<endl; cout<<"***********从头删除**************"<<endl; while(!vec.empty()) { vec.erase(vec.begin()); //删除容器中第一个元素 for_each(vec.begin(),vec.end(),OutToScreen); cout<<endl; }}*//*#include<iostream>#include<vector>#include<string>#include<algorithm>#include<functional>using namespace std;struct ST{ int id; int score;};void print( ST & tmp){ cout<<"id"<<tmp.id<<" "<<"score"<<tmp.score<<endl;}int main(){ vector<ST> vec; ST stu; stu.id=1; stu.score=80; vec.push_back(stu); stu.id=2; stu.score=87; vec.push_back(stu); stu.id=3; stu.score=70; vec.push_back(stu); for_each(vec.begin(),vec.end(),print); cout<<"--------------pop_back() 删除-----------------"<<endl; vec.pop_back(); for_each(vec.begin(),vec.end(),print); return 0;}*/#if 0//vector类模板提供了成员swap()函数,以实现两个vector型容器之间的元素互换//如果两个参与交换的vector类型相同,交换会瞬间完成;//如果两个参与交换的vector对象中的元素类型不同,在实现对象交换的过程中,操作将非常复杂#include<iostream>#include<vector>#include<algorithm>using namespace std;void OutPut(int &Ele){ cout<<Ele<<" ";}int main(){ vector<int> c1,c2; for(int i=0;i<10;++i) { c1.push_back(i); //c2.push_back(i*10); } for(int i=0;i<5;++i) { c2.push_back(i*10); } cout<<"c1 交换前:"<<endl; for_each(c1.begin(),c1.end(),OutPut); cout<<endl; cout<<"c2 交换前:"<<endl; for_each(c2.begin(),c2.end(),OutPut); cout<<endl; cout<<"-----------swap--------------"<<endl; c1.swap(c2); cout<<"c1 交换后:"<<endl; for_each(c1.begin(),c1.end(),OutPut); cout<<endl; cout<<"c1 交换后:"<<endl; for_each(c2.begin(),c2.end(),OutPut); cout<<endl; return 0;}#endif#if 0//vector<bool>类 vector<bool>只占用一个字节存储单个元素#include<iostream>#include<vector>#include<algorithm>using namespace std;void Iter_for(vector<bool> &vec){ vector<bool>::iterator it; for(it=vec.begin();it!=vec.end();++it) { cout<<*it<<" "; } cout<<endl;}int main(){ int arr[]={1,0,1,0,0,0,1,1,1}; vector<bool> vt; int i=0; for(i=0;i<9;++i) { vt.push_back(bool (arr[i])); } Iter_for(vt); vt[5]=bool (1); Iter_for(vt); return 0;}#endif
阅读全文
0 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- CCF试题——画图
- 【LeetCode】 Reverse Linked List 翻转链表 ( Uber,FB )
- 《大型门户网站是这样炼成的》 项目源码视频教程免费下载
- textarea 存储与显示 保持格式
- 【python爬虫01】使用requests库模拟登录知乎
- 文章标题
- Android Studio使用jakewharton:butterknife
- leetcode
- MySQL 数据库设计总结
- LeetCode-4-Median-of-Two-Sorted-Arrays 递归求两有序数组第k小
- [Noip2016]换教室 解题报告
- 【Linux学习笔记】25:用户自定义变量
- NYOJ 2356 哈希计划(模拟)
- HUD-1002(大位数加法)