比如int a[] = { 0,1,3,5,6,4,2.... }
vector<int>v( a, a + sizeof( a ) / sizeof( a[0] ) )
2、动态添加就只有用push_back了
可以用resize预置vector的容量,这样就能免除push_back由于空间超过默认分配的定量内存时而重分配更大的一块新空间并把原内容重新拷过去所带来的效率损失,vector内部自动维护了一块定量的内存,这个空间可以用capacity()方法查看。
#include "stdafx.h"#include <iostream>
#include <algorithm>
#include <functional>
#include <vector>
using namespace std
int main()
{
vector<int>data
vector<int>::iterator dataIt
for(int i = 0i <10i++)
{
data.push_back(i)//插入到vector末尾
}
cout<<"排序前的vector:"
for(dataIt = data.begin()dataIt != data.end()dataIt++)
{
cout<<*dataIt <<" "
}
cout <<endl
sort(data.begin(), data.end(), greater<int>())//降序
cout <<"排序后的vector:"
for(dataIt = data.begin()dataIt != data.end()dataIt++)
{
cout<<*dataIt <<" "
}
cout <<endl
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)