STL之vector使用
c吧
全部回复
仅看楼主
level 6
Vecor容器:
1、概述:
最简单,最常用容器类之一,是一个数组的泛化扩展
优点 很容易实现对容器元素的随机访问
缺点 对其中元素插入、删除时间复杂度高,依赖于数组规模
Vector是动态数组,可以动态改变大小
系统中用三个指针来描述它(起始位置、最后一个元素位置、所占内存空间的结束地址)
2、应用
Vector.h中定义了vector容器。
定了自己的迭代器类型
iterator const_iterator
reverse_iterator const_reverse_iterator
使用vector<T>::iterator 方式来声明迭代器
使用:
创建、数据添加、数组删除、元素遍历、vector大小度量、vector容器间操作
创建:
Vector<T>()
Vector<T>(size_type n)
Vector<T>(size_type n,const T &value)
Vector<T>(const vector &x)
Vector<T>(const inputiterator fisrt,const inputIterator last)
数据添加:
Void push_back(const T &)
Iterator insert(iterator pos,const T &x)
Void insert(iterator pos,size_type n,const T &x)
数据删除:
Void pop_back()
Iterator erase(iterator pos)
Iterator erase(iterator first,iterator last)
元素遍历:
有两种方式:数组方式 利用v[i]随机访问vecto容器中元素
利用迭代器进行元素遍历
Iterator begin()
Iterator end()
Reverse_iterator rbegin()
Reverse_iterator rend()
Vector大小度量:
Size_type size()
Size_type max_size()
Size_type capacity()
Void reverse(size_type n)//调整当前vector容器所占内存空间大小
Vector容器间操作:
Void swap(vector &x)
vector容器的使用方法,代码如下
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int i,size,maxsize,capacity;
vector<int> v;
for(i = 0;i < 5;i++)
{
v.push_back(i + 1);
}
vector<int>::iterator ri;
for(ri = v.begin();ri != v.end();ri++)
{
cout << (*ri)<<endl;
}
cout <<endl;
size = v.size();
maxsize = v.max_size();
capacity = v.capacity();
cout <<size<<maxsize<<capacity<<endl;
v.reverse(100);
capacity = v.capacity();
cout <<"capacity = "<<capacity<<endl;
}
2025年12月24日 06点12分 1
1