网站建设设计大作业,北京制卡厂家做卡公司北京制卡网站_北京制卡_北京 去114网,软件工程造价师,找个产品做区域代理文章目录 vector容器1.构造函数代码工程运行结果 2.赋值代码工程运行结果 3.容量和大小代码工程运行结果 4.插入和删除代码工程运行结果 5.数据存取工程代码运行结果 6.互换容器代码工程运行结果 7.预留空间代码工程运行结果 vector容器
1.构造函数
/*1.默认构造-无参构造*/
… 文章目录 vector容器1.构造函数代码工程运行结果 2.赋值代码工程运行结果 3.容量和大小代码工程运行结果 4.插入和删除代码工程运行结果 5.数据存取工程代码运行结果 6.互换容器代码工程运行结果 7.预留空间代码工程运行结果 vector容器
1.构造函数
/*1.默认构造-无参构造*/
/*2.通过区间的方式进行构造*/
/*3.n个elem方式构造*/
/*4.拷贝构造*/代码工程
#define _CRT_SECURE_NO_WARNINGS
#includeiostream
#includealgorithm
#includestring
#includevectorusing namespace std;void printVector(const vectorintv)
{for (vectorint::const_iterator it v.begin(); it ! v.end(); it){cout *it ;}cout endl;
}void test01()
{/*1.默认构造-无参构造*/vectorintv1;/*尾插*/for (int i 0; i 5 ; i){v1.push_back(i);}cout v1容器的数据: ;/*打印*/printVector(v1);/*2.通过区间的方式进行构造*/vectorintv2(v1.begin(), v1.end());cout v2容器的数据: ;/*打印*/printVector(v2);/*3.n个elem方式构造*/vectorintv3(5, 100);cout v3容器的数据: ;/*打印*/printVector(v3);/*4.拷贝构造*/vectorintv4(v3);cout v4容器的数据: ;/*打印*/printVector(v4);return;
}int main()
{test01();return 0;
}运行结果 2.赋值
/* 1.赋值 operator */
/* 2.赋值 assign 迭代器区间*/
/* 3.赋值 assign n个elem的方式*/代码工程
#define _CRT_SECURE_NO_WARNINGS
#includeiostream
#includevectorusing namespace std;void printVector(const vectorintv)
{for (vectorint::const_iterator it v.begin(); it ! v.end(); it){cout *it ;}cout endl;return;
}void test()
{vectorintv1;/*尾插*/for (int i 0; i 5; i){v1.push_back(i);}cout v1容器的数据: ;printVector(v1);/* 1.赋值 operator */vectorintv2;v2 v1;cout v2容器的数据: ;printVector(v2);/* 2.赋值 assign 迭代器区间*/vectorintv3;v3.assign(v2.begin(), v2.end());/*注意是闭开区间*/cout v3容器的数据: ;printVector(v3);/* 3.赋值 assign n个elem的方式*/vectorintv4;v4.assign(5, 200);cout v4容器的数据: ;printVector(v4);return;
}int main()
{test();return 0;
}运行结果 3.容量和大小
/*1.empty() 如果为不空返回值是0*/
/*2.capacity() 查询容量*/
/*3.size() 查询容器中的数据个数*/
/*4.resize() 重新指定大小*/代码工程
#define _CRT_SECURE_NO_WARNINGS
#includeiostream
#includevectorusing namespace std;void printVector(const vectorintv)
{for (vectorint::const_iterator it v.begin(); it ! v.end(); it){cout *it ;}cout endl;return;
}void test()
{vectorintv1;/*尾插*/for (int i 0; i 10; i){v1.push_back(i);}cout v1容器的数据: ;printVector(v1);/*1.empty() 如果为不空返回值是0*/if (v1.empty()){cout v1容器为空 endl;return ;}/*2.capacity() 查询容量*/cout v1的容量为 v1.capacity() endl;/*3.size() 查询容器中的数据个数*/cout v1的大小为 v1.size() endl;/*4.resize() 重新指定大小*/cout v1重新指定长度为15时 ;v1.resize(15);/*如果重新指定的比原来长了默认用0填充新的位置*///v1.resize(15, 100);/*利用重载版本可以指定默认值的填充*/printVector(v1);cout v1重新指定长度为5时 ;v1.resize(5);/*如果重新指定的比原来短了超出的部分会删除掉*/printVector(v1);return;
}int main()
{test();return 0;
}运行结果 4.插入和删除
/*1.尾删*/
/*2.插入 - 迭代器输入*/
/*3.删除 - 迭代器输入*/
/*4.清空*/代码工程
#define _CRT_SECURE_NO_WARNINGS
#includeiostream
#includevectorusing namespace std;/*1.尾删*/
/*2.插入 - 迭代器输入*/
/*3.删除 - 迭代器输入*/
/*4.清空*/
void printVector(const vectorintv)
{for (vectorint::const_iterator it v.begin(); it ! v.end(); it){cout *it ;}cout endl;
}void test()
{vectorintv1;/*尾插*/v1.push_back(10);v1.push_back(20);v1.push_back(30);v1.push_back(40);v1.push_back(50);cout v1容器的数据: ;printVector(v1);/*1.尾删*/v1.pop_back();cout 尾删后v1容器中的数据: ;printVector(v1);/*2.插入- 迭代器输入*/v1.insert(v1.begin(), 1000);cout 插入后v1容器中的数据: ;printVector(v1);/*利用重载的版本可以插入多个重复的数据*/v1.insert(v1.begin(), 2, 2000);cout 插入后v1容器中的数据: ;printVector(v1);/*3.删除 - 迭代器输入*/v1.erase(v1.begin());cout 删除后v1容器中的数据: ;printVector(v1);/*删除 - 区间删除*/v1.erase(v1.begin(), v1.end());if (v1.empty())/*v1为空empty()返回值为1*/{cout 当前容器为空 endl;}/*尾插*/v1.push_back(10);v1.push_back(20);printVector(v1);/*4.清空*/v1.clear();cout 清空v1容器中的数据: ;if (v1.empty())/*v1为空empty()返回值为1*/{cout 当前容器为空 endl;}return;
}int main()
{test();return 0;
}运行结果 5.数据存取
/*1.利用[]方式访问数组中的元素*/
/*2.利用at方式访问数组中的元素*/
/*3.获取第一个元素*/
/*4.获取第最后一个元素*/工程代码
#define _CRT_SECURE_NO_WARNINGS
#includeiostream
#includevectorusing namespace std;/*1.利用[]方式访问数组中的元素*/
/*2.利用at方式访问数组中的元素*/
/*3.获取第一个元素*/
/*4.获取第最后一个元素*/void test()
{vectorintv1;/*尾插*/v1.push_back(10);v1.push_back(20);v1.push_back(30);v1.push_back(40);v1.push_back(50);cout 利用[]访问v1容器的数据: ;/*1.利用[]方式访问数组中的元素*/for (int i 0; i v1.size(); i){cout v1[i] ;}cout endl;cout 利用at访问v1容器的数据: ;/*2.利用at方式访问数组中的元素*/for (int i 0; i v1.size(); i){cout v1.at(i) ;}cout endl;cout 访问v1容器的第一个数据: ;/*3.获取第一个元素*/cout v1.front() endl;cout 访问v1容器的最后一个数据: ;/*4.获取第最后一个元素*/cout v1.back() endl;return;
}int main()
{test();return 0;
}运行结果 6.互换容器
代码工程
#define _CRT_SECURE_NO_WARNINGS
#includeiostream
#includevectorusing namespace std;void printVector(const vectorintv)
{for (vectorint::const_iterator it v.begin(); it ! v.end(); it){cout *it ;}cout endl;
}void test()
{vectorintv1;/*尾插*/v1.push_back(10);v1.push_back(20);v1.push_back(30);v1.push_back(40);v1.push_back(50);cout v1容器的数据: ;printVector(v1);vectorintv2;/*尾插*/v2.push_back(100);v2.push_back(200);v2.push_back(300);v2.push_back(400);v2.push_back(500);cout v2容器的数据: ;printVector(v2);cout -----------交换容器的数据后----------- endl;/*交换两个容器中的数据*/v1.swap(v2);cout v1容器的数据: ;printVector(v1);cout v2容器的数据: ;printVector(v2);return;
}void test01()
{/*交换容器的实际作用利用swap可以收缩内存空间*/vectorintv;for (int i 0; i 100000; i){v.push_back(i);}cout v容器的容量 v.capacity() endl;cout v容器的大小 v.size() endl;/*重新指定大小*/v.resize(5);cout 重新指定v容器的大小: endl;cout v容器的容量 v.capacity() endl;cout v容器的大小 v.size() endl;cout 收缩v容器的大小: endl;/*利用swap收缩内存空间*/vectorint(v).swap(v);cout v容器的容量 v.capacity() endl;cout v容器的大小 v.size() endl;return;
}
int main()
{test();cout endl;cout swap的实际作用 endl;test01();return 0;
}运行结果 7.预留空间
代码工程
#define _CRT_SECURE_NO_WARNINGS
#includeiostream
#includevectorusing namespace std;void printVector(const vectorint v)
{for (vectorint::const_iterator it v.begin(); it ! v.end(); it){cout *it ;}cout endl;
}void test()
{vectorintv1;int* p NULL;int num 0;/*计算出尾插十万次容器重新开辟空间的次数*/for (int i 0; i 100000; i){v1.push_back(i);if (p ! v1[0]){num;p v1[0];}}cout v1容器重新开辟空间的次数 num endl;return;
}void test01()
{vectorintv1;int* p NULL;int num 0;/*预留空间 - reserve*/v1.reserve(100000);p NULL;for (int i 0; i 100000; i){v1.push_back(i);if (p ! v1[0]){num;p v1[0];}}cout 预留空间后v1容器重新开辟空间的次数 num endl;return;
}int main()
{test();cout endl;test01();return 0;
}运行结果