女生做网站前端设计师,百度网盘在线观看资源,长沙市住房与城乡建设厅网站,网站建设实施计划一、vector基本概念
1.1 功能#xff1a; -vector 数据结构和数组非常相似#xff0c;也称单端数组 1.2 vector与普通数组区别#xff1a; - 不同之处在于数组是静态空间#xff0c;而vector可以动态拓展 1.3 动态拓展#xff1a; 并不是在原空间之后续接新空间#xff…一、vector基本概念
1.1 功能 -vector 数据结构和数组非常相似也称单端数组 1.2 vector与普通数组区别 - 不同之处在于数组是静态空间而vector可以动态拓展 1.3 动态拓展 并不是在原空间之后续接新空间而是找更大的内存空间然后将原数据拷贝新空间释放原空间。 vector容器的迭代器是支持随机访问的迭代器 二、vector的初始构造四种方式
#includeiostream
#includevector // 1、导入vector头文件
using namespace std;
void printVector(vectorintv){for(vectorint::iterator it v.begin();it ! v.end();it){cout *it ;}coutendl;
}
// vector容器构造
void test(){vectorint v1; // 1、默认构造 无参构造for(int i 0; i 10; i){v1.push_back(i);} printVector(v1);// 2、通过区间方式进行构造(复制v1的值给v2)vectorintv2(v1.begin(),v1.end()); printVector(v2);// 3、n 个 elem方式构造vectorint v3(10,100);printVector(v3);// 4、拷贝构造方式vectorintv4(v3);printVector(v4);} int main(){test();return 0;
} 二、vector的容器_赋值操作、assign() 两种方法
2.1 vector的容器的赋值 1、vector operator (const vector vec); // 重载等号操作符。 2、assign(beg,end); // 将[beg,end] 区间中的数据拷贝赋值给本身。 3、assign(nelem); // 将n个elem拷贝赋值给本身。 **
#includeiostream
#includevector // 1、导入vector头文件
using namespace std;
void printVector(vectorintv){for(vectorint::iterator it v.begin();it ! v.end();it){cout *it ;}coutendl;
}
// vector容器构造
void test(){vectorint v1; // 1、默认构造 无参构造for(int i 0; i 10; i){v1.push_back(i);} printVector(v1);vectorint v2; // 1、第一种赋值方式 operator v2 v1; printVector(v2);// 2、被赋值的向量.assign(v1.begin(),v1.end())的赋值方式 vectorint v3;v3.assign(v1.begin(),v1.end()); printVector(v3);// 3、n个ele方式赋值vectorint v4;v4.assign(10,100);printVector(v4);
}
int main(){test();return 0;
} 2.2 vector 容量和大小认识 empty()、capacity()、size()、resize() 功能描述对vector 容器和大小操作。 1、 向量对象.empty(): 为真代表容器为空 2、向量对象.capacity() : 统计向量对象的容量。 向量对象.size(); 3、向量对象.size(): 统计向量对象里的元素个数 4、重新指定大小 : 向量对象. resize(指定的大小默认填充值) : 重新指定 向量对象的大小 #includeiostream
#includevector // 1、导入vector头文件
using namespace std;
void printVector(vectorintv){for(vectorint::iterator it v.begin();it ! v.end();it){cout *it ;}coutendl;
}void test(){vectorint v1; // 1、默认构造 无参构造for(int i 0; i 10; i){v1.push_back(i);} printVector(v1);// 向量对象.empty(): 为真代表容器为空 if(v1.empty()){ // cout v1为空 endl; } else {cout v1不为空endl;// 1、向量对象.capacity() : 统计向量对象的容量。 向量对象.size(); cout v1的容量为v1.capacity() endl;// 2、向量对象.size(): 统计向量对象里的元素个数 cout v1的大小 v1.size() endl; }// 3、重新指定大小 : 向量对象. resize(指定的大小默认填充值) : 重新指定 向量对象的大小 v1.resize(15);printVector(v1); // 如果重新指定的比原来长了默认用0填充新的位置v1.resize(3); // 如果重新执行的比原来长了超出部分会被删除 }int main(){test();return 0;
} 2.2 vector 插入和删除认识 push_back()、pop_back()、insert()、erase()等 1、push_back(ele) : // 尾部插入元素ele。 2、pop_back(); // 删除最后一个元素。 3、insert(迭代器位置ele); // 迭代器指向位置pos插入元素ele。 4、insert(迭代器位置插入个数nele) // 迭代器指向位置pos插入指定个数的元素ele,即在指定位置插入 n 个 ele 元素。 5、erase(pos); // 删除pos位置上的元素 6、erase(start,end); // 删除迭代器从start 到 end之间的元素 7、clear(); //删除容器中所有的元素 #includeiostream
#includevector // 1、导入vector头文件
using namespace std;
void printVector(vectorintv){for(vectorint::iterator it v.begin();it ! v.end();it){cout *it ;}coutendl;
}void test(){vectorint v1; for(int i 0; i 10; i){// 1、尾插 v1.push_back(i);} // 遍历 printVector(v1);// 2、尾删v1.pop_back();printVector(v1);// 3、插入 第一个参数一定是 迭代器类似指针 v1.insert(v1.begin(),200); printVector(v1);v1.insert(v1.begin(),2,100); // 在迭代器的位置 添加 2个 100 printVector(v1);// 4、删除 : 参数也是迭代器哈 v1.erase(v1.begin());printVector(v1);// 5、删除 清空 起点 到 终点 v1.erase(v1.begin(),v1.end()); printVector(v1);// 6、清空v1.clear(); }int main(){test();return 0;
} 2.2 vector 数据存取认识 at()、operator()、insert()、front()、back()等 1、atint idx); // 返回索引 idex 所指向的数据 2、operator[]; // 返回索引idex 所指的数据 3、front(); // 返回容器中第一个数据元素 4、back(); // 返回容器中最后一个数据元素 #includeiostream
#includevector // 1、导入vector头文件
using namespace std;
void printVector(vectorintv){for(vectorint::iterator it v.begin();it ! v.end();it){cout *it ;}coutendl;
}void test(){vectorint v1; for(int i 0; i 10; i){// 1、尾插 v1.push_back(i);} // 遍历 printVector(v1);// 1、利用[] 方式访问数组中元素for(int j0;j v1.size();j) {cout v1[j] ;}coutendl;// 2、利用at方式访问元素for(int a 0; a v1.size();a) {cout v1.at(a) ;}cout endl;// 3、获取第一个元素cout 第一个元素为 v1.front() endl; // 4、获取 最后一个元素cout 第二个元素为 v1.back() endl;
}int main(){test();return 0;
} 2.3 vector互换容器 功能描述 实现两个容器内元素进行互换 函数原型swap(vec); // 将vec与本身的元素进行互换