顺序容器--容器库.迭代器
来源:互联网 发布:java订单管理系统 编辑:程序博客网 时间:2024/06/07 03:40
在一个函数中罗列了各个常见的顺序容器库
其中包含了六种初始化以及查找,赋值操作
#include <iostream>#include<vector>#include<list>#include<deque>#include <forward_list>#include<array>using namespace std;vector<vector<int>>lines;bool search_vec(vector<int>::iterator beg, vector<int>::iterator end, int val){ for (; beg != end; beg++) if (*beg == val) return true; return false;}//查找函数vector<int>::iterator search_vel(vector<int>::iterator beg, vector<int >::iterator end, int val){ for (; beg != end; beg++) if (*beg == val) return beg; return end;}int main(int argc, char **argv){ vector < int > line = {1,2,3,4,5,6,7,7,8,345}; vector < int >::iterator iter; vector <int> ::difference_type diffiter; list<string>::value_type valu;//value_type 表示元素类型 //list<string>::reference & ;//为了写入元素,需要非常量引用类型 ////////////////////////////////////////////////////////////////////////// list <string> Name = { "Milton", "Shakespeare", "Austrn" }; auto it1 = Name.begin(); auto it2 = Name.end();//iterator auto it3 = Name.rbegin();//reverser_iterator auto it4 = Name.rend();//reverse_iterator auto it5 = Name.crbegin();//const_reverse_iterator vector<const char*> arcticles = { "a", "an", "the" }; list<string> list2(Name); deque<string>word(); forward_list <string> words(arcticles.begin(), arcticles.end()); ////////////////////////////////////////////////////////////////////////// vector<int>ivec(10, -1);//10个元素 初始值为-1 list<string>scec(10, "shi");//同理 deque<int>hen(10);//10个元素为0 forward_list <int>ivecl(10);//10个元素 每个初始化为0 /////////////////////////////////////////////////////l///////////////////// array < int, 42 >lai= {10,2}; array < string, 42 > ; array< int, 10 >::size_type i; //array<int>::size_type j;不是一个类型 //六种初始化vector方式 vector <int> ilist1;//默认初始化vector为空容器内无元素 vector<int>ilist2(ilist1);//直接拷贝,两个容器必须类型相同 vector<int>list2_1 = ilist1; vector<int >ilist3 = { 3, 4, 3, 56, 7, 34, 23, 4 };//初始化 vector<int >ilist3_1 = { 3, 4, 3, 56, 7, 34, 23, 4 };//同类型 vector<int> ilist4(ilist3_1.begin() + 2, ilist3_1.begin() + 5);//迭代器初始化 vector<int>ilist5(7); vector<int>ilist6(7, 8); ////////////////////////////////////////////////////////////////////////// list<int>mlist{ 23, 5, 45, 656, 7, 541, 2 }; vector<int>ivec_1{ 46, 678, 43, 45, 36, 3423, 534 }; vector<double>mdevl(ivec_1.begin(), ivec_1.end());//元素类型相容,采用范围初始化; vector<double>mdev2(mlist.begin(), mlist.end());//元素类型相同,使用范围初始化 cout << mdev2.capacity() << " " << mdev2.size() << " " << mdev2[0] << " " << mdev2[mdev2.size() - 1] << endl; cout << mdevl.capacity() << " " << mdevl.size() << " " << mdevl[0] << " " << mdevl[mdev2.size() - 1] << endl; ////////////////////////////////////////////////////////////////////////// cout << search_vec(line.begin(), line.end(), 3); cout << search_vec(line.begin(), line.end(), 45)<< endl; cout << search_vel(line.begin(), line.end(), 45)-line.begin(); cout << search_vel(line.begin(), line.end(), 4) - line.begin(); system("pause");}
1 0
- 顺序容器--容器库.迭代器
- 容器---- 顺序容器
- 顺序容器:容器适配器
- 顺序容器
- 顺序容器
- 顺序容器
- 顺序容器
- 顺序容器
- 顺序容器
- 顺序容器
- 顺序容器
- 顺序容器
- 顺序容器
- 顺序容器
- 顺序容器
- 顺序容器
- 顺序容器
- 顺序容器
- 用:after伪元素标签写分割线
- 编程心路
- 基于Kafka如何部署一个稳定可靠的zookeeper集群服务
- Kendall tau距离:求两个排列之间的逆序数
- 如何解压assets目录下的压缩包文件
- 顺序容器--容器库.迭代器
- cocoapod error diff
- 日期时间选择插件 - laydate.js
- Java和Jsp中获取类所在路径(绝对路径、相对路径)的几种方法
- Android数据通信--USB通信的几种方式及使用场景
- ACM 简易的自动测试命令
- ListView学习
- 无返回值的函数交换参数
- 机器学习/数据挖掘之中国大牛