C中vector用法
简介
在C语言中,vector是一种动态数组,可以根据需要自动调整大小。它提供了一组函数和操作符来管理和操作数组,使得数组的使用更加方便和灵活。
vector的定义和初始化
在C语言中,要使用vector,首先需要包含头文件<vector.h>。然后可以使用以下方式定义和初始化一个vector:
#include <stdio.h>
#include <vector.h>
int main() {
vector<int> v; // 定义一个空的vector
// 定义并初始化一个有5个元素的vector
vector<int> v1 = {1, 2, 3, 4, 5};
// 定义并初始化一个有10个元素,并且每个元素都为0的vector
vector<int> v2(10, 0);
return 0;
}
向vector中添加元素
可以使用push_back()函数向vector中添加元素。该函数会将新元素添加到当前vector的末尾。
#include <stdio.h>
#include <vector.h>
int main() {
vector<int> v;
for (int i = 0; i < 5; i++) {
v.push_back(i);
}
// 输出向v中添加的元素
for (int i = 0; i < v.size(); i++) {
printf("%d ", v[i]);
}
return 0;
}
输出结果为:
0 1 2 3 4
访问vector中的元素
可以使用下标运算符[]或者at()函数来访问vector中的元素。
#include <stdio.h>
#include <vector.h>
int main() {
vector<int> v = {1, 2, 3, 4, 5};
// 使用下标运算符访问元素
printf("%d\n", v[0]);
// 使用at()函数访问元素
printf("%d\n", v.at(1));
return 0;
}
输出结果为:
1
2
修改vector中的元素
可以使用下标运算符[]或者at()函数来修改vector中的元素。
#include <stdio.h>
#include <vector.h>
int main() {
vector<int> v = {1, 2, 3, 4, 5};
// 使用下标运算符修改元素
v[0] = 10;
// 使用at()函数修改元素
v.at(1) = 20;
// 输出修改后的元素
for (int i = 0; i < v.size(); i++) {
printf("%d ", v[i]);
}
return 0;
}
输出结果为:
10 20 3 4 5
删除vector中的元素
可以使用pop_back()函数删除vector中的最后一个元素。
#include <stdio.h>
#include <vector.h>
int main() {
vector<int> v autoit= {1, 2, 3, 4, 5};
// 删除最后一个元素
v.pop_back();
// 输出删除后的元素
for (int i = 0; i < v.size(); i++) {
printf("%d ", v[i]);
}
return 0;
}
输出结果为:
1 2 3 4
获取vector的大小和容量
可以使用size()函数获取vector中元素的个数,使用capacity()函数获取vector的容量。
#include <stdio.h>
#include <vector.h>
int main() {
vector<int> v = {1, 2, 3, 4, 5};
// 输出元素个数和容量
printf("size: %d\n", v.size());
printf("capacity: %d\n", v.capacity());
return 0;
}
输出结果为:
size: 5
capacity: 5
清空vector中的元素
可以使用clear()函数清空vector中的所有元素。
#include <stdio.h>
#include <vector.h>
int main() {
vector<int> v = {1, 2, 3, 4, 5};
// 清空所有元素
v.clear();
// 输出清空后的元素个数和容量
printf("size: %d\n", v.size());
printf("capacity: %d\n", v.capacity());
return 0;
}
输出结果为:
size: 0
capacity: 5
判断vector是否为空
可以使用empty()函数判断一个vector是否为空。
#include <stdio.h>
#include <vector.h>
int main() {
vector<int> v;
if (v.empty()) {
printf("vector is empty\n");
} else {
printf("vector is not empty\n");
}
return 0;
}
输出结果为:
vector is empty
vector的遍历
可以使用循环结构来遍历vector中的元素。
#include <stdio.h>
#include <vector.h>
int main() {
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论