
如果要插在中间,只能自己做了。因为这种 *** 作是低效的,所以标准库并不直接支持。方法就是先resize(),然后把下标大于i的每个元素往后移(复制),然后把要插入的元素复制到下标i上。
另外,如果要是总要在中间插入,而使用下标又不多的话,就应该考虑用list而不是vector。
#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条)