一、vector 的初始化:可以有4种方式:
(1)vectora(10); //定义了10个整型元素的向量,但没有给出初值 (2)vector a(10,1); //定义了10个整型元素的向量,且给出每个元素的初值为1 (3)vector a(b); //用b向量来创建a向量,整体复制性赋值 (4)vector a(b.begin(),b.begin+3); //定义了a值为b中第0个到第2个(共3个)元素
二、vector对象的几个重要 *** 作:
(1)a.assign(b.begin(), b.begin()+3); //b为向量,将b的0~2个元素构成的向量赋给a
vectorb = { 1, 2, 3, 4, 5, 6 }; vector a; a.assign(b.begin(), b.begin() + 3);
a 为: {1,2,3}
(2)a.assign(5,1); //是a只含5个元素,且每个元素为1
vectora; a.assign(5, 1);
a 为:{1,1,1,1,1}
(3)a.back(); //返回a的最后一个元素
vectora = { 1, 2, 3, 4, 5, 6 }; cout << a.back()< 输出为:6
(4)a.front(); //返回a的第一个元素
vectora = { 1, 2, 3, 4, 5, 6 }; cout << a.front()<< endl; 输出为:1
(5)a[i]; //返回a的第i个元素
vectora = { 1, 2, 3, 4, 5, 6 }; cout << a[3]<< endl; 输出为:4
(6)a.clear(); //清空a中的元素
vectora = { 1, 2, 3, 4, 5, 6 }; a.clear(); cout << a.size() << endl; 输出为:0
(7)a.empty(); //判断a是否为空,空则返回1,不空则返回0
vectora = { 1, 2, 3, 4, 5, 6 }; cout << a.empty() << endl; a.clear(); cout << a.empty() << endl; 输出为:0
输出为:1(8)a.pop_back(); //删除a向量的最后一个元素
vectora = { 1, 2, 3, 4, 5, 6 }; a.pop_back(); a为:{1,2,3,4,5}
(9)a.erase(a.begin()+1,a.begin()+3); //删除a中第1个(从第0个算起)到第2个元素
vectora = { 1, 2, 3, 4, 5, 6 }; a.erase(a.begin() + 1, a.begin() + 3); a为:{1,4,5,6}
(10)a.push_back(7); //在a的最后一个向量后插入一个元素,其值为7
vectora = { 1, 2, 3, 4, 5, 6 }; a.push_back(7); a为:{1,2,3,4,5,6,7}
(11)a.insert(a.begin()+1,7); //在a的第1个元素(从第0个算起)的位置插入数值7
vectora = { 1, 2, 3, 4, 5, 6 }; a.insert(a.begin() + 1, 7); a为:{1,7,2,3,4,5,6}
(12)a.insert(a.begin()+1,3,7); //在a的第1个元素(从第0个算起)的位置插入3个数,其值都为7
vectora = { 1, 2, 3, 4, 5, 6 }; a.insert(a.begin() + 1, 3, 7); a为:{1,7,7,7,2,3,4,5,6}
(13)a.insert(a.begin()+1,b+3,b+6); //b为数组,在a的第1个元素(从第0个算起)的位置插入b的第3
个元素到第5个元素(不包括b+6)int b[] = { 7, 8, 9, 10, 11, 12, 13 }; vectora = { 1, 2, 3, 4, 5, 6 }; a.insert(a.begin() + 1, b + 3, b + 6); a为:{1,10,11,12,2,3,4,5,6}
(14)a.size(); //返回a中元素的个数;
vectora = { 1, 2, 3, 4, 5, 6 }; cout << a.size() << endl; 输出为:6
(15)a.capacity(); //返回a在内存中总共可以容纳的元素个数
vectora(10); cout << a.capacity() << endl; 输出为:10
(16)a.resize(10); //将a的元素个数调至10个,多则删,少则补
vectora = { 1, 2, 3, 4, 5, 6 }; a.resize(10); a为:{1,2,3,4,5,6,0,0,0,0}
(17)a.resize(10,2); //将a的现有元素个数调至10个,多则删,少则补,其值为2
vectora = { 1, 2, 3, 4, 5, 6 }; a.resize(10, 2); a为:{1,2,3,4,5,6,2,2,2,2}
(18)a.reserve(10); //将a的容量(capacity)扩充至10
vectora = { 1, 2, 3, 4, 5, 6 }; a.reserve(10); cout << a.capacity() << endl; 输出为:10
(19)a.swap(b); //b为向量,将a中的元素和b中的元素进行整体性交换
vectorb = { 7, 8, 9, 10, 11, 12 }; vector a = { 1, 2, 3, 4, 5, 6 }; a.swap(b); a为:{ 7, 8, 9, 10, 11, 12 }
b为:{ 1, 2, 3, 4, 5, 6 }(20)a==b; //b为向量,向量的比较 *** 作还有!=,>=,<=,>,<
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)