顺序容器:初始化
来源:互联网 发布:nginx rewrite if 编辑:程序博客网 时间:2024/06/06 20:24
一、顺序容器和关联容器
1、顺序容器:根据位置来存储和访问这些元素,顺序容器的元素排列次序与元素值无关,而是由元素添加到容器里的次序决定。如:
vector :支持快速随机访问;
list :支持快速插入/删除;
deque :双端队列
顺序容器适配器:
stack :堆栈,先进后出
queue :队列,先进先出
priority_queue:有优先级管理的队列
2、关联容器:按键(key)排序
二、测试list
// 采用迭代器初始化初始化同一类型的不同的顺序容器【适用于所有容器】void test_list(){std::vector<int> vec;for( int i = 0; i != 5; ++i ){vec.push_back(i+1);}/*迭代器标记了要复制的元素范围,这些元素用于初始化新容器的元素。迭代器标记出要复制的第一个元素和最后一个元素*/std::list<int> li_1 (vec.begin(), vec.end()); // 用vector的元素初始化listfor( std::list<int>::iterator it = li_1.begin(); it != li_1.end(); ++it ){std::cout << *it << "_";// 1_2_3_4_5_}std::cout << std::endl;// 复制子序列:std::list<int> li_2(vec.begin(), vec.begin()+vec.size()/2);for( std::list<int>::iterator it = li_2.begin(); it != li_2.end(); ++it ){std::cout << *it << "_";// 1_2_}std::cout << std::endl;}
三、测试deque
void test_deque(){std::vector<std::string> vec;vec.push_back("123");vec.push_back("abc");vec.push_back("kfc");std::deque<std::string> de(vec.begin(), vec.end());std::deque<std::string>::iterator it = de.begin();while( it != de.end() ){std::cout << *it << "_";// 123_abc_kfc_++it;}std::cout << std::endl;}
四、使用数组的指针对容器初始化
void use_arr_init_container(){int arr[] = {1,2,3,4,5};// 两种方式动态求出数组的长度:std::cout << "Array size is :" << sizeof(arr)/sizeof(int) << std::endl;//5std::cout << "Array size is :" << sizeof(arr)/sizeof(int*) << std::endl;//5int *begin = arr;int *end = arr+2;//int *end = arr + sizeof(arr)/sizeof(int*)/2;// 使用数组的指针初始化容器:std::deque<int> de(begin,end);for( std::deque<int>::iterator it = de.begin(); it != de.end(); ++it ){std::cout << *it << "_";//1_2_}std::cout << std::endl;}
- 顺序容器:初始化
- vector顺序容器初始化
- 9.1 顺序容器的初始化
- 顺序容器的简单初始化
- 顺序容器的5种初始化方法
- c++顺序容器定义和初始化
- Web容器之Listener初始化顺序
- Web容器之Listener初始化顺序
- Web容器之Listener初始化顺序
- STL 容器和迭代器连载3_顺序容器初始化
- STL 容器和迭代器连载3_顺序容器初始化
- C++顺序容器:头文件,定义和初始化
- C++顺序容器类中对象初始化、赋值、swap
- c++之vector(容器)初始化、操作、顺序访问
- 容器初始化
- 容器 初始化
- 初始化容器
- Flex之旅:第二部分:容器与布局(1)---容器的初始化顺序
- 黑马程序员 List集合模拟堆栈和队列
- 神十变轨深藏杀气,美TMD防导形同虚设
- 一个优秀的定义类,应该满足或者包容下面几个条件
- 大小端问题
- mysql和myelipse乱码解决办法-----推荐统一编码格式保持良好习惯
- 顺序容器:初始化
- 多层 UI 触摸事件的轻量级设计
- 黑马程序员 List集合把同内容的元素删掉
- 学习笔记八之线程
- 打印所有和为s的连续正数序列
- JavaFX 的 Label 控件
- 单例设计模式
- Cocos2d-x 内存管理浅说
- MFC 窗口分割