(背)顺序容器的操作-向容器中插入元素详细总结
现在总结如下表:yes表示支持,no表示不支持
代码实例如下:
#include <iostream>
#include <string>
#include <vector>
#include <deque>
#include <list>
#include <forward_list>
#include <string>
#include <array>
using namespace std;
#define LENGTH 10
typedef int TYPE;
typedef vector<TYPE> VECTORTYPE;
typedef deque<TYPE> DEQUETYPE;
typedef list<TYPE> LISTTYPE;
typedef forward_list<TYPE> FORWARD_LISTTYPE;
typedef array<TYPE,LENGTH> ARRAYTYPE;
void print(VECTORTYPE & );
void print(DEQUETYPE & );
void print(LISTTYPE & );
void print(FORWARD_LISTTYPE & );
void print(ARRAYTYPE & );
void print(string &);
int main()
{//forward_list:only can use push_front(emplace_front) to insert elements,e.g:forward_list<int> f_int{11,22,33,44,55};print(f_int);f_int.push_front(0);f_int.push_front(142857);print(f_int);//vector:can use push_back(emplace_back),insert(p,t),emplace(p,t),c.insert(p,b,e),c.insert(p,n,t),c.insert(p,i1),no push_front or emplace_frontvector<int> v_int1{1,2,3,4,5},v_int2{43,44,45},v_int3{},v_int4{};/*v_int1.push_front(0); wrong,vector has no member of push_front*//*v_int1.emplace_front(0); wrong,vector has no member of emplace_front*/cout << "vector: ";v_int1.emplace_back(6);print(v_int1); cout << "vector is end." << endl;v_int1.insert(v_int1.begin(),9);print(v_int1);v_int1.emplace(v_int1.begin(),10);print(v_int1);v_int1.insert(v_int1.begin(),f_int.begin(),f_int.end());print(v_int1); //iterator like assignv_int1.insert(v_int1.begin(),{11,22,33,44,55});print(v_int1); //list like assignv_int1.insert(v_int1.begin(),5,1024);print(v_int1); //constructor like assign//deque:can use all the function:push_front,emplace_front,push_back,emplace_back,c.insert(p,t),c.emplace(p,t),c.insert(p,b,e),c.insert(p,n,t),c.insert(p,l1)deque<int> d_int1{1,2,3};d_int1.push_front(0);d_int1.emplace_front(-1);d_int1.emplace_back(4);d_int1.emplace_back(5);d_int1.insert(d_int1.begin() + 1,1024);d_int1.emplace(d_int1.begin() + 1,1024);d_int1.insert(d_int1.begin(),v_int2.begin(),v_int2.end());d_int1.insert(d_int1.end(),v_int2.begin(),v_int2.end());d_int1.insert(d_int1.begin(),3,55);d_int1.insert(d_int1.begin() + 1,{43,43,43});d_int1.insert(d_int1.begin(),5,1025);print(d_int1);//list:can use all the function:push_front,emplace_front,push_back,emplace_back,insert(p,t),emplace(p,t),c.insert(p,b,e),c.insert(p,n,t),c.insert(p,{}),note:list ' s iterator can't add int numberlist<int> l_int{1,2,3,4,5};forward_list<int> f_int3{11,22,33};l_int.push_front(0);l_int.emplace_front(-1);l_int.push_back(6);l_int.emplace_back(7);l_int.insert(l_int.begin(),-2);l_int.emplace(++l_int.begin(),-3);l_int.insert(l_int.begin(),f_int3.begin(),f_int3.end());l_int.insert(l_int.begin(),3,44);l_int.insert(l_int.begin(),{54,54,54});print(l_int);//forward_list:only can insert elements in front of it.forward_list<int> f_int1{1,2,3,4};f_int1.push_front(0);print(f_int1);//array:has none member function of them.array<int,10> arr{1,2,3,4};//string:string str1{"abcde"},str2{"xyx"};str1.push_back('f');str1.insert(str1.begin(),'B');str1.insert(str1.begin(),6,'s');str1.insert(str1.begin(),{'k','l'});str1.insert(str1.begin(),str2.begin(),str2.end());print(str1);return 0;
}
void print(VECTORTYPE &vec)
{for(VECTORTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ;
}void print(DEQUETYPE &vec)
{for(DEQUETYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ;
}void print(LISTTYPE &vec)
{for(LISTTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ;
}void print(FORWARD_LISTTYPE &vec)
{for(FORWARD_LISTTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ;
}void print(ARRAYTYPE &vec)
{for(ARRAYTYPE::iterator i = vec.begin() ; i != vec.end() ; ++i){ cout << *i << " ";}cout << endl;return ;
}void print(string & s_vec)
{for(string::iterator i = s_vec.begin(); i != s_vec.end() ; ++i) {cout << *i << " ";}cout << endl;
}
(背)顺序容器的操作-向容器中插入元素详细总结相关推荐
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。...
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. import java.util.Stack; public class Solution { ...
- 算法:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。...
算法:用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型.<剑指offer> 利用栈来进行操作,代码注释写的比较清楚:首先判断两个栈是否是空的:其次当栈二 ...
- 向一个数组中插入元素
向一个数组中插入元素是平时很常见的一件事情.你可以使用push在数组尾部插入元素,可以用unshift在数组头部插入元素,也可以用splice在数组中间插入元素. 但是这些已知的方法,并不意味着没有更 ...
- 有序数组中插入元素依然保持有序
有序数组中插入元素依然保持有序 如何在一个有序数组中插入元素,使得数组依然保持有序,废话不多说直接上代码(C/C++) 如何在一个有序数组中插入元素,使得数组依然保持有序,废话不多说直接上代码(C/C ...
- C语言创建顺序表并插入元素 详细注释
顺序表是用一组地址连续的存储单元依次存储数据元素的数据结构.顺序表是线性表的一种,线性表是最常用且最简单的一种数据结构,一个线性表是 n 个数据元素的有限序列.我们使用 c 语言来创建顺序表并插入元素 ...
- java向数组中插入元素
/*** * @Title: test_insert_array* @Description: 该方法的主要作用:像数组中插入元素* @param 设定文件 * @return 返回类型:void * ...
- Java数组中插入元素
**问题:Java中如何向一个已经升序排序好的数组中插入元素,得到的数组依然是升序数组 效果: int[] array = {1,3,7,12,24,36,48}; 插入数字9后新数组为 int[] ...
- Python向列表中插入元素(列表)
向列表中插入元素 python列表中的元素种类可以是相同的也可以是不同的,如: >>> Num=["1","2","3", ...
- java 数组中插入元素_Java数组添加元素
java 数组中插入元素 How to add elements to an array in java We know that java array size is fixed, so we ca ...
最新文章
- 让Sandcastle为你的类库生成类似于MSDN的帮助文档
- 我想用keil5生成BIN文件,可是安装目录下找不到fromelf.exe
- python生成式、生成器和迭代器
- 在场景中加入第一人称视角运行后一直往下掉的解决方案
- [C++基金会]位计算 游戏开发中的应用
- 4.python合并excel多个sheet
- ConcurrentHashMap原理,jdk7和jdk8的区别
- Iterator模式
- mysql netcdf_Linux下用Intel编译器编译安装NetCDF-Fortan库(4.2以后版本)
- C++ 函数参数中和区别
- 量子化信息素蚁群优化特征选择算法
- python爬取酷狗音乐源码_python爬虫教程:爬取酷狗音乐
- WSO2 ESB 5.0.0 集群配置
- 分销系统之项目架构(第一篇)
- Google I/O 2014之Android面面观
- 普通话测试-短文60篇文章,附带拼音(21-30篇)
- rust倒地了怎么起来_ggxx出招表
- java计算机毕业设计吉他库存管理源码+mysql数据库+系统+lw文档+部署
- hdu 4438 la 6389
- 3D-2D三维重建:PnP