vector简单介绍:
vector是可变长数组(动态数组),用vector定义的数组可以随时添加数值和删除元素。它是STL的动态数组,👈感兴趣可以去了解一下。vector可以在运行中根据需要改变数组的大小。它是以数组的形式存储的,所以它的内存空间是连续的.
vector的头文件为:# include <vector>
题目:
- 应用vector,与vector成员函数编写程序。
- 实现元素添加、删除、vector元素升序排序、vector元素倒置。
- 利用sort()函数,排序。
- 利用reverse()函数,倒置。
效果实现:
题目分析:
- 利用循环来对这个容器存进一些元素。
- 利用vector内置的一些函数来进行添加和删除元素。
- 添加算法头文件# include <algorithm>,以便后面用到的sort、reverse函数。
代码实现:
方法一:
# include <iostream>
# include <vector>
# include <algorithm>
using namespace std;
int main()
{
vector <int> v1;
cout << "v1中的元素:";
for (int i = 0; i <= 10; i++)
{
v1.push_back(i); //添加元素
cout << v1[i] << " ";
} cout << endl;
cout << "向v1添加元素:";
v1.insert(v1.begin(), 5); //在v1的第一个元素位置插入数值5
v1.push_back(3); //在v1的最后一个元素后插入数值3
for (int i = 0; i < v1.size(); i++) cout << v1[i] << " ";
cout << endl;
cout << "sort排序函数 对v1进行升序排序:";
sort(v1.begin(), v1.end()); //利用sort函数对v1里面的元素进行升序排序
for (int i = 0; i < v1.size(); i++) cout << v1[i] << " ";
cout << endl;
cout << "向v1删除元素:";
v1.erase(v1.end() - 2); //删除v1元素的倒数第2个元素
for (int i = 0; i < v1.size(); i++) cout << v1[i] << " ";
cout << endl;
cout << "reverse倒置函数 对v1进行倒置:";
reverse(v1.begin(), v1.end()); //利用reverse函数对v1元素进行倒置
for (int i = 0; i < v1.size(); i++) cout << v1[i] << " ";
system("pause");
return 0;
}
方法二:
# include <iostream>
# include <vector>
# include <algorithm>
using namespace std;
int main()
{
vector <int> v1;
cout << "v1中的元素:";
for (int i = 0; i <= 10; i++)
{
v1.push_back(i);
cout << v1[i] << " ";
}cout << endl;
for (int i = 1; i < 5; i++)
{
switch (i)
{
case 1:
cout << "向v1添加元素:";
v1.insert(v1.begin(), 5);
v1.push_back(3);
break;
case 2:
cout << "sort排序函数 对v1进行升序排序:";
sort(v1.begin(), v1.end());
break;
case 3:
cout << "向v1删除元素:";
v1.erase(v1.end() - 2);
break;
case 4:
cout << "reverse倒置函数 对v1进行倒置:";
reverse(v1.begin(), v1.end());
break;
} for (int i = 0; i < v1.size(); i++) cout << v1[i] << " ";
cout << endl;
}
system("pause");
return 0;
}
注意:此代码本质和方法一差不多,但在for循环中配合switch使用,算是另一种思路吧。
今天的程序就到这里了,感兴趣的可以点赞收藏加关注,欢迎大家在评论区留言~