首页 > 其他分享 >array - vector- deque

array - vector- deque

时间:2022-10-01 13:33:47浏览次数:38  
标签:deque begin int v1 xx vector array 赋值

array   不支持动态的新增删除操作

特点 大小固定  无法增加或移除元素改变其大小

 

 

 

 

 

 

vector 矢量 (顺序表)     是封装动态数组的顺序容器

 // 缺点   头部,,中间  插入删除会引起元素的移动从而增加开销,影响执行效率.

 

int main()
{

/* 构造 */
vector<int>v1;//默认构造
vector<int>v2(5);//准备了5个元素的空间 放的是0 可以通过 v1[]下标赋值
vector<int>v3(5,666);//准备了5个元素的空间 放的是 666
vector<int>v4(v1);// v2里面全部是v1的元素
vector<int>v5(v1.begin(),v1.end());//迭代器赋值
vector<int>v6(v1.begin()+2, v1.end());//迭代器赋值
int xx[] = { 1,2,3,4,5 };
vector<int>v7(xx,xx+2); // 数组赋值

/* 赋值 */
v1.push_back(1); // 尾部增加
v1.pop_back();//尾部删除
v1[0] = 100;// 下标赋值
v1.assign(2, 888);// 里面只有两个元素..都是888
v1.assign(v3.begin(),v3.end());//迭代器赋值
int xx[] = { 1,2,3,4,5 };
v1.assign(xx,xx+3);// 数组的地址赋值
v1 = v2;// 赋值

/* 大小 */
cout << v1.size() << endl;//大小(元素的个数)
cout << v1.capacity() << endl;//容积/容量 (编译器自己分配空间)
v1.empty();// 判断是否为空 返回值是 boole
v1.resize(3);//从新调整大小或者空大时值是0
v1.resize(5,888);//扩大时指定新增的值

/* 存取 */
v1[1] = 10; //下标
v1.at(1) = 10;// 和下标类似
v1.front(); // 返回头部的值
v1.end(); // 返回尾部的值

/* 插入 返回值也是迭代器的位置 */
v1.insert(v1.begin(), 666);//开始的位置插入666
v1.insert(v1.begin()+2, 666);//第三个位置插入666
v1.insert(v1.begin(),2, 666);//开始的位置后插入666
v1.insert(v1.begin(),v2.begin(),v2.end());//
/* 删除 返回值也是迭代器的位置 */
v1.clear();//删除所以元素
v1.erase(v1.begin());
v1.erase(v1.begin(),v1.begin()+2);

}

 

/*  自己定义的vector   */
//typedef struct star victor;
#define max_size 100
typedef struct { // 定义了一个vector
int* base;
int length;
int size;
}vector;
bool initvector(vector &v) { // vector的初始化
v.base= new int[max_size];
v.length = 0;
v.size = max_size;
}
bool addvoctor(vector& v,int x) { // 增加元素
v.base[v.length] = x;
v.length++;
return true;
}

 

标签:deque,begin,int,v1,xx,vector,array,赋值
From: https://www.cnblogs.com/asd12310/p/16747114.html

相关文章

  • [Oracle] LeetCode 560 Subarray Sum Equals K 思维+Map
    Givenanarrayofintegersnumsandanintegerk,returnthetotalnumberofsubarrayswhosesumequalstok.Asubarrayisacontiguousnon-emptysequenceof......
  • List转为String数组 List对象.toArray(new String[0])
    List转为String数组List对象.toArray(newString[0])privateString[]getStringArray(){returnnewString[]{"one","two","three"};}@Testpublicvoidtes......
  • 20220930-ArrayList扩容机制源码分析②
    本部分对于使用设置初始容量的方法创建ArrayList集合的方式进行源码分析。代码publicclassArrayListSource{publicstaticvoidmain(String[]args){......
  • 20220929-ArrayList扩容机制源码分析
    示例代码publicclassArrayListSource{publicstaticvoidmain(String[]args){ArrayListarrayList=newArrayList();//跳转至第一步for......
  • Arrays类、冒泡排序、稀疏数组
    Arrays类数组的工具类java.util.Arrays由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作......
  • Arrays讲解
    Arrays讲解数组的工具类java.util.Arrays由于数组对象本身并没有什么方法可以供我们调用,但API中提供了-个工具类Arrays供我们使用,从而可以对数据对象进行--些基本......
  • .NET教程 - 数组(Array)
    更新记录转载请注明出处:2022年9月29日发布。2022年9月28日从笔记迁移到博客。System.Array说明Array类型是所有一维和多维数组的基类System.Array类型实现了ILi......
  • CF1526E Oolimry and Suffix Array 组合数学
    看起来是后缀数组,但是看到求方案数就是dp,计数啥的了问满足后缀数组的字符串方案有多少观察样例,发现rk相邻的所在位置,字母要么是相等,要么是比其大大的话条件直接满足了,相......
  • 实验1.1熟悉string和vector
    #include<iostream>#include<string>#include<vector>intmain(){usingnamespacestd;strings1;strings2{"cplusplus"};strings3{s2};......
  • js find the maximum and minimum values in an array All In One
    jsfindthemaximumandminimumvaluesinanarrayAllInOnejs找出数组中的最大值与最小值AllInOnenumber/numberstringbuildinmethodsMath.max&Ma......