ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

c++deque赋值操作,大小操作,插入和删除,数据存取,数据排序

2022-05-08 21:00:50  阅读:193  来源: 互联网

标签:容器 deque elem c++ pos beg 操作 数据


赋值操作函数原型:
deque& operator=(const deque &deq); //重载等号操作符
assign(beg, end); //将[beg, end)区间中的数据拷贝赋值给本身。
assign(n, elem); //将n个elem拷贝赋值给本身。

也是和vector基本一致,=和assign的使用

 

大小操作函数原型:
deque.empty(); //判断容器是否为空

deque.size(); //返回容器中元素的个数
deque.resize(num); //重新指定容器的长度为num,若容器变长,则以默认值填充新位置。
//如果容器变短,则末尾超出容器长度的元素被删除。
deque.resize(num, elem); //重新指定容器的长度为num,若容器变长,则以elem值填充新位置。
//如果容器变短,则末尾超出容器长度的元素被删除。

和vector基本一致,主要的区别就在于deque没有capacity,而是可以无限的扩展

 

函数原型:
两端插入操作:
push_back(elem); //在容器尾部添加一个数据
push_front(elem); //在容器头部插入一个数据
pop_back(); //删除容器最后一个数据
pop_front(); //删除容器第一个数据
指定位置操作:
insert(pos,elem); //在pos位置插入一个elem元素的拷贝,返回新数据的位置。
insert(pos,n,elem); //在pos位置插入n个elem数据,无返回值。
insert(pos,beg,end); //在pos位置插入[beg,end)区间的数据,无返回值。
clear(); //清空容器的所有数据
erase(beg,end); //删除[beg,end)区间的数据,返回下一个数据的位置。
erase(pos); //删除pos位置的数据,返回下一个数据的位置。

和vector使用基本一样,主要的区别在于有了头尾操作之分。back代表尾端,也就是最新进入的数据,front代表首端,也就是最早进入的数据

 

函数原型

at(int idx); //返回索引idx所指的数据
operator[]; //返回索引idx所指的数据
front(); //返回容器中第一个数据元素
back(); //返回容器中最后一个数据元素

和vector的使用基本一样,主要区别在于能够返回头尾元素

 

sort(iterator beg, iterator end) //对beg和end区间内元素进行排序

deque中的数据排序,注意输入的是迭代器,这个算法在algorithm头文件中,默认是升序排序的

对于所有支持随机访问的迭代器的容器,都可以使用sort

标签:容器,deque,elem,c++,pos,beg,操作,数据
来源: https://www.cnblogs.com/uestc-du/p/16246877.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有