建站广告,动漫设计与制作就业前景怎么样,wordpress pc站m站,济南行知网网站建设vector基本概念
功能#xff1a; vector数据结构和数组非常相似#xff0c;也称为单端数组 vector与普通数组区别#xff1a; 不同之处在于数组是静态空间#xff0c;而vector可以动态扩展 动态扩展#xff1a; 并不是在原空间之后续接新的空间#xff0c;而是找更大的内…vector基本概念
功能 vector数据结构和数组非常相似也称为单端数组 vector与普通数组区别 不同之处在于数组是静态空间而vector可以动态扩展 动态扩展 并不是在原空间之后续接新的空间而是找更大的内存空间然后将原数据拷贝新空间释放原空间 vector容器的迭代器是支持随机访问的迭代器
vector构造函数
功能描述 创建vector容器
函数原型
vectorT v; //采用模板实现类实现默认构造函数
vector(v.begin(),v,end()); //将v[begin(),end())区间中的元素拷贝给本身
vector(n,elem); //构造函数将n个elem拷贝给本身
vector(const vector vec); //拷贝构造函数#includeiostream
using namespace std;
#includevectorvoid printVector(vectorint v)
{for (vectorint::iterator it v.begin(); it ! v.end(); it){cout *it ;}cout endl;
}//vector容器构造
void test01()
{vectorint v1; //默认构造 无参构造for (int i 0; i 10; i){v1.push_back(i);}printVector(v1);vectorint::iterator it1 v1.begin();it1 2;//通过区间方式进行构造vectorint v2(v1.begin(), it1);//0 1printVector(v2);//n个elem方式构造vectorintv3(10, 100);printVector(v3);//拷贝构造vectorint v4(v3);printVector(v4);
}int main()
{test01();return 0;
}总结vector的多种构造方式没有可比性灵活使用即可。
vector赋值操作
功能描述 给vector容器进行赋值 函数原型 vector operator(const vector vec);//重载等号操作符 assign(beg,end);//将[beg,end]区间中的数据拷贝赋值给本身。 assign(n,elem);//将n个elem拷贝赋值给本身。
#includeiostream
using namespace std;
#includevectorvoid printVector(vectorint v)
{for (vectorint::iterator it v.begin(); it ! v.end(); it){cout *it ;}cout endl;
}
//vector赋值
void test01()
{vectorintv1;for (int i 0; i 10; i){v1.push_back(i);}printVector(v1);//赋值 operatorvectorintv2;v2 v1;printVector(v2);//赋值 assignvector intv3;v3.assign(v1.begin(), v1.end());printVector(v3);//n个elem方式赋值vectorintv4;v4.assign(10, 100);printVector(v4);
}int main()
{test01();return 0;
}总结vector赋值方式比较简单使用operator或者assign都可以
vector容量和大小
功能描述 对vector容器的容量和大小操作 函数原型 empty();//判断容器是否为空 capacity();//容器的容量 size();//返回容器中元素的个数 resize(int num);//重新制定容器的长度为num若容器变长则以默认值(0)填充新位置。 //如果容器变短则末尾超出容器长度的元素被删除。 resize(int numelem);//重新制定容器的长度为num若容器变长则以elem值填充新位置。 //如果容器变短则末尾超出容器长度的元素被删除。
#includeiostream
using namespace std;
#includevectorvoid printVector(vectorint v)
{for (vectorint::iterator it v.begin(); it ! v.end(); it){cout *it ;}cout endl;
}
//vector容器的容量和大小操作
void test01()
{vectorintv1;for (int i 0; i 10; i){v1.push_back(i);}printVector(v1);if (v1.empty())//为真 代表容器为空{cout v1为空 endl;}else{cout v1不为空 endl;cout v1的容量为 v1.capacity() endl;cout v1的大小为 v1.size() endl;}//重新指定大小v1.resize(15);printVector(v1);//如果重新指定的比原来长了默认用0填充新的位置v1.resize(20,33);printVector(v1);v1.resize(5);printVector(v1);v1.resize(20);printVector(v1);
}int main()
{test01();return 0;
}总结 1、判断是否为空 empty 2、返回元素个数 size 3、返回容器容量 capacity 4、重新指定大小 resize