C++如何在vector的一个元素中添加多个数据?

C++如何在vector的一个元素中添加多个数据?,第1张

1、可以从数组构造

比如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

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11830437.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存