1.VECTOR的相关操作:

对vector这个方法的总结:

往vector中插入数据:push_back(要插入的数据)

打印vector中元素的个数:size()

遍历vector中的元素:at()

取出元素:back()

删除元素:pop_back();(只能从后面删除)

#include <iostream>

using namespace std;
#include <vector>
#include "Stu.h"


struct Teacher{
int age;
};


void fx() {
Teacher t1;
t1.age = 10;
Teacher t2;
t2.age = 20;


vector<Teacher> v;
v.push_back(t1);
v.push_back(t2);


Teacher t = v.at(1);//t2
cout<<t.age<<endl; //20
}






void f() {
Stu stu1(10);
Stu stu2(20);
Stu stu3(30);


vector<Stu> v;
v.push_back(stu1);//0
v.push_back(stu2);//1
v.push_back(stu3);//2


for (unsigned int i = 0; i < v.size(); i++) {
Stu stu = v.at(i);
cout<<stu.age<<endl;
}
}


void f0() {
//创建长度为0的只装int数据的vector v1对象
vector<int> v1;    //创建长度为0只装int数据类型的对象
//装数据
v1.push_back(3);//0    //vector 相当于数组,存进去的数据依次是 3 1 2
v1.push_back(1);//1
v1.push_back(2);//2
//取出长度
int size = v1.size();//size==3   用size取出数组的长度
// cout<<size<<endl;
//取数数据有下面两种方法
// cout<<v1.at(0)<<endl;//3
// cout<<v1[0]<<endl;   //3


for (int i = 0; i < size; i++) {
cout << v1[i] << endl;
cout << v1.at(i) << endl;
}
}


void f1() {
//创建长度为2的只装int数据的vector v1对象,默认值为0   每次插入一个往后面加
vector<int> v1(2);//[0][0]
// cout<<v1.size()<<endl;//2
// cout<<v1[0]<<":"<<v1[1]<<endl;//0:0
v1.push_back(1);
v1.push_back(2);
v1.push_back(3);//   本来有两个0,插入两个,一共5个元素 [0][0][1][2][3]


size_t size = v1.size();//5
for (size_t i = 0; i < size; i++) {
cout << "v1[" << i << "]=" << v1[i] << endl;
}
}


void f2() {
//创建长度为3的只装string数据的vector v1对象,默认值为"好"
vector<string> v(3, "好");
v.push_back("你好");
size_t size = v.size();
for (size_t i = 0; i < size; i++) {
cout << "v1[" << i << "]=" << v[i] << endl;
}
}
void f3() {
int ia[6] = { -2, -1, 0, 1, 2, 1024 };
//使用数据为新创建的vector对象赋值  后面的1024没有什么作用
vector<int> v1(&ia[2], &ia[5]);//[0][1][2]
for (size_t i = 0; i < v1.size(); i++) {
cout << "v1[" << i << "]=" << v1[i] << endl;
}
cout << "v2=================" << endl;
//克龙  
vector<int> v2(v1);   //里面装的对象,用拷贝构造函数
for (size_t i = 0; i < v2.size(); i++) {
cout << "v2[" << i << "]=" << v2[i] << endl;
}
cout << "v3=================" << endl;
//克龙
vector<int> v3 = v2;
for (size_t i = 0; i < v3.size(); i++) {
cout << "v3[" << i << "]=" << v3[i] << endl;
}
}
void f4() {
vector<int> v1;
v1.push_back(1);//[1]
// v1.back() == v1.at(v1.size()-1);
cout << v1.back() << endl;//1   back()取出最后一个无素的值
v1.push_back(2);//[1][2]
cout << v1.back() << endl;//2
v1.pop_back();//  pop_back()删除最后一个元素  [1]   删除只能从后面往前删除
cout << v1.back() << endl;//1
}
//修改元素的值
void f5() {
vector<int> v(3, 100);//[100][100][100]


vector<int>::iterator it = v.end();   用迭代器修改迭代器
int i = 200;
for (it = v.begin(); it != v.end(); ++it) {
i++;
*it = i;
cout << *it << endl;
}
}
int main() {
f5();
cout << "" << endl; // prints
return 0;

}


.h文件:

#ifndef STU_H_
#define STU_H_


class Stu {
public:
int age;
Stu(int age);
};


#endif /* STU_H_ */

.cpp文件:

#include "Stu.h"


Stu::Stu(int age) {
this->age = age;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值