C++ vector容器

#include <iostream>

#include <string>

#include <fstream>

#include <vector>

#include <algorithm>

using namespace std;

void printVector(vector<int>& v)

{

for(vector<int>::iterator it = v.begin(); it != v.end(); it++)

{

cout << *it << " ";

}

cout << endl;

}

void test01()

{

vector<int> v1;

for(int i = 0; i < 10; i++)

{

v1.push_back(i);

}

printVector(v1);

vector<int> v2(v1.begin(), v1.end());

printVector(v2);

vector<int> v3(10, 100);

printVector(v3);

vector<int> v4(v3);

printVector(v4);

}

void test02()

{

vector<int> v2;

for(int i = 0; i < 10; i++)

{

v2.push_back(i);

}

printVector(v2);

vector<int> v3;

v3=v2;

printVector(v3);

vector<int> v4;

v4.assign(v2.begin(), v2.end());

printVector(v4);

}

void test03()

{

vector<int> v1;

for(int i = 0; i < 10; i++)

{

v1.push_back(i);

}

printVector(v1);

if(v1.empty())

{

cout << "vector is empty" << endl;

}

else

{

cout << "vector is not empty" << endl;

}

cout << "capacity:" << v1.capacity() << endl;

cout << "size:" << v1.size() << endl;

cout << "max_size:" << v1.max_size() << endl;

cout << "empty:" << v1.empty() << endl;

}

void test04()

{

vector<int> v1;

for(int i = 0; i < 10; i++)

{

v1.push_back(i);

}

printVector(v1);

v1.pop_back();

printVector(v1);

v1.insert(v1.begin(),100);

printVector(v1);

v1.insert(v1.begin(),2,1000);

printVector(v1);

v1.erase(v1.begin());

printVector(v1);

v1.erase(v1.begin(),v1.end());

printVector(v1);

}

void test05()

{

vector<int> v1;

for(int i = 0; i < 10; i++)

{

v1.push_back(i);

}

for(int i = 0; i < v1.size(); i++)

{

cout << v1[i] << " ";

}

for(int i = 0; i < v1.size(); i++)

{

cout << v1.at(i) << " ";

}

cout<<v1.front()<<endl;

cout<<v1.back()<<endl;

}

void test06()

{

vector<int> v1;

for(int i = 0; i < 10; i++)

{

v1.push_back(i);

}

printVector(v1);

vector<int> v2;

for(int i = 10; i < 20; i++)

{

v2.push_back(i);

}

printVector(v2);

v1.swap(v2);

printVector(v1);

printVector(v2);

}

void test07()

{

vector<int> v1;

for(int i = 0; i < 10000000; i++)

{

v1.push_back(i);

}

cout<<v1.capacity()<<endl;

cout<<v1.size()<<endl;

v1.resize(5);

cout<<v1.capacity()<<endl;

cout<<v1.size()<<endl;

vector<int>(v1).swap(v1); //shrink to fit

cout<<v1.capacity()<<endl;

cout<<v1.size()<<endl;

}

void test08()

{

vector<int> v1;

v1.reserve(1000000);

int num = 0;

int *p= NULL;

for(int i=0;i<1000000;i++)

{

v1.push_back(i);

if(p!=&v1[0])

{

p=&v1[0];

num++;

}

}

cout<<"num="<<num<<endl;

}

int main()

{

// test01();

// test02();

// test03();

// test04();

// test05();

// test06();

// test07();

test08();

system("pause");

}

相关推荐
2301_765703142 小时前
C++与自动驾驶系统
开发语言·c++·算法
Ll13045252982 小时前
Leetcode二叉树 part1
b树·算法·leetcode
轩情吖2 小时前
Qt的窗口(三)
c++·qt
MediaTea2 小时前
<span class=“js_title_inner“>Python:实例对象</span>
开发语言·前端·javascript·python·ecmascript
鹿角片ljp2 小时前
力扣9.回文数-转字符双指针和反转数字
java·数据结构·算法
热爱编程的小刘2 小时前
Lesson04---类与对象(下篇)
开发语言·c++·算法
毕设源码-朱学姐2 小时前
【开题答辩全过程】以 基于Java的九价疫苗预约系统为例,包含答辩的问题和答案
java·开发语言
雨季6663 小时前
Flutter 三端应用实战:OpenHarmony “微光笔记”——在灵感消逝前,为思想点一盏灯
开发语言·javascript·flutter·ui·dart
yugi9878383 小时前
遗传算法优化的极限学习机模型(GA-ELM)Matlab实现
开发语言·matlab
梦梦代码精3 小时前
开源、免费、可商用:BuildingAI一站式体验报告
开发语言·前端·数据结构·人工智能·后端·开源·知识图谱