#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
class Teacher {
public:
Teacher(const char* name = "", int age = 32)
{
strcpy(this->name, name);
this->age = age;
}
void printInfo()
{
cout << "name:" << name << ", age:" << age << endl;
}
private:
int age;
char name[64];
};
void use_vector_Teacher()
{
vector<Teacher*> vec;
vector<Teacher*>::iterator it;
Teacher t1("t1", 21);
Teacher t2("t2", 31);
Teacher t3("t3", 41);
vec.push_back(&t1);
vec.push_back(&t2);
vec.push_back(&t3);
for (it = vec.begin(); it != vec.end(); it++)
{
(*it)->printInfo();
}
}
template <typename T> void print_vector(const vector<T>& v)
{
for (int i = 0; i < v.size(); i++)
{
cout << v.at(i) << " ";
}
cout << endl;
}
void use_vector_int1()
{
vector<int> vec;
vector<int>::iterator it;
vec.push_back(1);
vec.push_back(3);
vec.push_back(5);
for (it = vec.begin(); it != vec.end(); it++)
{
cout << *it << endl;
}
}
void use_vector_int2()
{
vector<int> vec;
vector<int>::iterator it;
vec.push_back(1);
vec.push_back(3);
vec.push_back(5);
for (int i = 0; i < vec.size(); i++)
{
cout << vec.at(i) << " ";
}
cout << endl;
vector<int> v2(vec.begin(), vec.begin() + 2);
for (int i = 0; i < v2.size(); i++)
{
cout << v2[i] << " ";
}
cout << endl;
// cout << "front=" << vec.front() << endl;
// vec.front() = 22;
// cout << "front=" << vec.front() << endl;
// vec.back() = 55;
// while (vec.size() > 0)
// {
// cout << vec.back() << endl;
// vec.pop_back();
// }
}
void use_vector_int3()
{
vector<int> vec(10);
cout << "size=" << vec.size() << endl;
printf("&front=%p\n", &(vec.front()));
for (int i = 0; i < vec.size(); i++)
{
vec[i] = (i + 1) * (i + 1);
}
vec.push_back(100);
vec.push_back(200);
cout << "size=" << vec.size() << endl;
printf("&front=%p\n", &(vec.front()));
for (int i = 0; i < vec.size(); i++)
{
cout << vec.at(i) << endl;
}
printf("back:%p\n", &(vec.back()));
printf("back mem:%p\n", &vec[vec.size() - 1]);
}
void use_vector_int4()
{
vector<int> vec(10);
for (int i = 0; i < vec.size(); i++)
{
vec[i] = (i + 1) * (i + 1);
}
print_vector<int>(vec);
cout << "order print" << endl;
for (vector<int>::iterator it = vec.begin(); it != vec.end(); it++)
{
cout << *it << " ";
}
cout << endl;
cout << "reverse print" << endl;
for (vector<int>::reverse_iterator rit = vec.rbegin(); rit != vec.rend(); rit++)
{
cout << *rit << " ";
}
cout << endl;
}
void use_vector_delete()
{
vector<int> vec(10);
for (int i = 0; i < vec.size(); i++)
{
vec[i] = (i + 1) * (i + 1);
}
print_vector<int>(vec);
//根据区间删除
vec.erase(vec.begin(), vec.begin() + 3);
print_vector<int>(vec);
//根据元素位置删除
vec.erase(vec.end() - 1);
print_vector<int>(vec);
//根据元素值删除
vec[2] = 6;
print_vector<int>(vec);
cout << "delete mem=6" << endl;
for (vector<int>::iterator it = vec.begin(); it != vec.end();)
{
if (*it == 6)
{
it = vec.erase(it);
}
else
{
it++;
}
}
print_vector<int>(vec);
}
void use_vector_insert()
{
vector<int> vec(5);
for (int i = 0; i < vec.size(); i++)
{
vec[i] = (i + 1) * (i + 1);
}
print_vector<int>(vec);
vec.insert(vec.begin(), 10);
print_vector<int>(vec);
vec.insert(vec.end(), 100);
print_vector<int>(vec);
}
int main()
{
// use_vector_int1();
use_vector_insert();
// use_vector_Teacher();
return 0;
}

adgentleman
- 粉丝: 21
最新资源
- 自动驾驶规划控制常用算法c++代码实现
- C++ 实现自动驾驶规划与控制常用算法代码
- Delphi算法与数据结构精要
- 基于树莓派的自动驾驶小车,利用树莓派和tensorflow实现小车在赛道的自动驾驶 (Self-driving car based on raspberry pi(tensorflow))
- 自动驾驶Apollo源码注释.(annotated Apollo 1.0 source code)
- 基于树莓派与 TensorFlow 的赛道自动驾驶小车实现
- Udacity 自动驾驶系列课程第一期学习内容
- 轻量级LMS 2.0:基于博客的在线评估新方法
- 自动驾驶领域各类算法的实现方式及原理深度分析 自动驾驶相关各类算法的具体实现路径与原理解析 自动驾驶领域各类算法实现方法及核心原理分析 自动驾驶相关各类算法的实现流程与原理深度剖析 自动驾驶领域各类算
- Udacity 自动驾驶培训课程首期班
- 基于 carla-ros-bridge 在 carla 实现自动驾驶规划与控制
- Android studio 打包uniapp
- 机器学习(预测模型):犯罪新闻标题二元分类任务的数据集
- 基于 carla-ros-bridge 在 carla 实现自动驾驶规划与控制
- 使用 TensorFlow 与 OpenCV 模拟自动驾驶系统 基于 TensorFlow 和 OpenCV 的自动驾驶模拟实现 借助 TensorFlow 与 OpenCV 进行自动驾驶模拟 采用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


