具体实现如下:
#include<iostream>
#include<vector>
#include<set>
int main()
{
std::set <double> input;
inputinsert(5);
inputinsert(6);
std::vector <double> output;
std::copy(inputbegin(), inputend(), outputbegin());
return 0;
}
优化后的方法如下:
back_inserter 是iterator适配器,它使得元素被插入到作为实参的某种容器的尾部#include<iostream>
#include<vector>
#include<set>
#include<iterator>
int main()
{
std::set <double> input;
inputinsert(5);
inputinsert(6);
std::vector <double> output;
std::copy(inputbegin(), inputend(), std::back_inserter(output));
std::cout << outputsize() << std::endl;
return 0;
}成员函数push_back()
如果要插在中间,只能自己做了。因为这种 *** 作是低效的,所以标准库并不直接支持。方法就是先resize(),然后把下标大于i的每个元素往后移(复制),然后把要插入的元素复制到下标i上。
另外,如果要是总要在中间插入,而使用下标又不多的话,就应该考虑用list而不是vector。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)