std::vector<person>myvector;myvector.push_back(person("lilei",1));myvector.emplace_back(person("hanmeimei",2));myvector.emplace_back(person("junjun",3));//vector<T>().swap(x); // clear x reallocatingstd::vector<person>().swap(myvector);...
时间复杂度为o(n) booloperator==(constvector<Type, Allocator>& left,constvector<Type, Allocator>& right); __EOF__
clear()用来清空vector中的所有元素,时间复杂度为O(n)。 1#include <iostream>2#include <vector>3usingnamespacestd;4vector<int>vi;5intmain()6{7for(inti=0;i<5;i++){8vi.push_back(i);//将i的值依次插入到vi的尾部9}10vi.clear();//清空所有元素11cout<<vi.size();12return0;13} 输出结...
size函数返回vetor的实际长度(包含的元素个数),empty函数返回一个bool类型,表明vector是否为空。2者的时间复杂度都是O(1)。 clear(): 把vector清空 push_back(x): 把元素x插入到vector的尾部。 迭代器: 迭代器就像STL容器的“指针”,可以用星号“*”操作符访问值。 vector的迭代器是“随机访问迭代器”,可以...
clear()用来清空vector中的所有元素,时间复杂度O(N),N为vector中元素的个数 #include<iostream> #include<vector> usingnamespacestd; intmain(){ vector<int>vi; for(inti=1;i<=5;i++){ vi.push_back(i); } cout<<vi.size()<<endl;
至于通过resize或者clear等都是行不通的,这些函数都只会对当前已保存在容器中的所有元素进行析构,但对容器本身所在的内存空间是不会进行释放的。 4.1 通过swap函数 这时我们可以想想,什么情况下vector大小为0呢,就是作为一个空容器的时候,所以要想快速的释放内存,我们可以参考swap函数机制,用一个空的vector与当前vec...
清空vector 中的所有元素,时间复杂度为 O(N)。 vector<int>vi;for(inti=1;i<=3;++i)vi.push_back(i);// 将1、2、3依次插入vi末尾vi.clear(); (5)insert() insert(it, x)用来向 vector 的任意迭代器 it 处插入一个元素 x,时间复杂度 O(N)。
该函数用于删除vector尾元素,时间复杂度为O(1)。 示例: (3)size() 该函数用于获得vector中元素个数,时间复杂度为O(1)。 其返回类型为unsigned类型,但一般来说使用int不会出很大问题,这一点对所有STL容器是一样的。 示例: (4)clear() 该函数用来清空vector中的所有元素,时间复杂度为O(N),N为vector中元素...
第一种办法使用 clear ,清空元素,但不回收空间 vecInt.clear();j=vecInt.capacity();//j=512i=vecInt.size();//i=0第二种办法使用 erase循环删除,结果同上vector<int::iteratoriter=vecInt.begin();for(;iter!=vecInt.end();){iter=vecInt.erase(iter);}j=vecInt.capacity();//j=...
随机访问高效:vector支持随机访问,即可以通过下标直接访问元素,时间复杂度为O(1)。 内存自动管理:vector具有内存自动管理的功能,对于元素的插入和删除,可动态调整所占的内存空间。 操作简便:vector提供了丰富的操作方法,如push_back()、insert()、erase()、clear()、empty()、capacity()等,方便对容器中的元素进行操...