vector 结构体
时间: 2023-11-14 13:07:32 浏览: 155
vector 是 C++ STL 中的一个容器,可以看作是一个动态数组。它可以自动调整大小,支持随机访问,插入和删除元素等操作。
vector 的定义方式如下:
```c++
#include <vector>
using namespace std;
vector<int> vec; // 定义一个空的 vector
vector<int> vec2(10); // 定义一个大小为 10 的 vector,每个元素都是默认值 0
vector<int> vec3(5, 2); // 定义一个大小为 5 的 vector,每个元素都是值为 2
```
可以使用 push_back() 函数向 vector 中添加元素:
```c++
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
```
可以使用下标运算符 [] 或者 at() 函数访问 vector 中的元素:
```c++
cout << vec[0] << endl; // 输出 1
cout << vec.at(1) << endl; // 输出 2
```
相关问题
vector结构体排序
以下是使用lambda表达式对vector结构体进行排序的示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct Student {
string name;
int score;
};
int main() {
vector<Student> students = {{"Tom", 80}, {"Jerry", 90}, {"Alice", 70}};
// 按照分数降序排序
sort(students.begin(), students.end(), [](const Student& a, const Student& b) {
return a.score > b.score;
});
// 输出排序结果
for (const auto& student : students) {
cout << student.name << " " << student.score << endl;
}
return 0;
}
```
上述代码中,我们定义了一个结构体`Student`,包含学生姓名和分数两个成员变量。然后我们定义了一个`vector`类型的容器`students`,其中存储了三个学生的信息。接着,我们使用`sort`函数对`students`进行排序,排序的依据是学生的分数,按照降序排列。最后,我们遍历排序后的`students`容器,输出每个学生的姓名和分数。
vector结构体数组
vector是C++ STL中的一个容器,可以用来存储一组元素,类似于数组,但是可以自动扩容和缩容。结构体数组是一种由相同类型的结构体元素组成的数组。
因此,vector结构体数组指的是一个vector容器,其中存储的元素是结构体类型。例如,可以定义一个存储三维坐标的结构体:
```
struct Point {
int x;
int y;
int z;
};
```
然后可以创建一个vector结构体数组来存储多个Point结构体:
```
vector<Point> points;
```
这个vector容器可以像数组一样使用,例如可以通过下标访问元素:
```
points[0].x = 1;
points[0].y = 2;
points[0].z = 3;
```
也可以使用迭代器遍历元素:
```
for (vector<Point>::iterator it = points.begin(); it != points.end(); ++it) {
cout << it->x << ", " << it->y << ", " << it->z << endl;
}
```
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)