c++ 向量的值逆序输出_C++中vector的常用方法
前言在C++中,vector是一个商业转载请联系作者获得授权,非商业转载请注明出处。十分有用的容器。它能像容器一样存放各种类型的对象,简单来说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。相较链表而言,vector中提供了大量的方法供直接使用,降低了代码复杂度,也提高了易读性。注意:vector相较于链表,实现插入和删除操作时效率较低,当动态添加的数据超过系统所分配的默认内存
前言
在C++中,vector是一个商业转载请联系作者获得授权,非商业转载请注明出处。十分有用的容器。它能像容器一样存放各种类型的对象,简单来说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
相较链表而言,vector中提供了大量的方法供直接使用,降低了代码复杂度,也提高了易读性。
注意:vector相较于链表,实现插入和删除操作时效率较低,当动态添加的数据超过系统所分配的默认内存大小时,要进行整体的重新分配、拷贝和释放。
实例
基本操作
1.头文件
#include
2.创建vector对象
vector test;
3.尾部插入
int a = 0;
test.push_back(a);
4.使用下标访问元素
test[0] = 1;
5.插入元素
test.insert(test.begin()+i, a); //在第i+1个元素前插入a
6.删除元素
test.erase(test.begin()+3); //删除第3个元素
7.vect商业转载请联系作者获得授权,非商业转载请注明出处。or向量大小
test.size();
8.清空
test.clear();
began(),end() 和 front(),back()的差别
begin():返回当前vector容器内起始元素
end():返回当前vector容器内末尾元素
front():返回当前vector容器中起始元素的引用
back():返回当前vector容器中末尾元素的引用
e.g:
#include
#include
using namespace std;
int main()
{
vector test;
vector::iterator i1;
vector::iterator i2;
test.push_back(1000);
test.push_back(1001);
test.push_back(1010);
test.push_back(1011);
cout << "front()=" << test.front() << endl;
cout << "back()=" << test.back() << endl;
i1 = test.begin();
i2 = test.end()-1; //end()向的是最后一个元素的下一个位置,因此想要访问最后一个元素的正确操作为:end()-1
cout << *i1 << endl;
cout << *i2 << endl;
return 0;
}
输出结果:
front()=1000
back()=1011
1000
1011
常用函数
(1)reverse
需要头文件: #include
用法: reverse(test.begin(), test.end());将元素翻转,即逆序排列。
(2)sort
需要头文件: #include
用法 :sort(test.begin(), test.end());默认为升序排列,即从小到大。
e.g:
bool cmdPaixu(int a, int b)
{
return a>b;
}
sort(test.begin(), test.end(), cmdPaixu);
重写排序比较函数,实现降序排列。
更多推荐
所有评论(0)