应用STL中的vector完成功能测试
要求:定义一个空的vector,将用户输入的数组a[10]的10个数插入到vector中,在vector头部插入数b,用迭代器遍历vector并输出其中的元素值。然后将vector从小到大排序,删除vector尾部的元素,用迭代器遍历vector并输出其中的元素值。最后将vector清空。
测试样例:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(void)
{
int i,a[10],b;
for(i=0; i<10; i++){
scanf("%d",&a[i]);
}
scanf("%d",&b);//插入的数
{
/*请在这里填写答案*/
}
return 0;
}
输入样例
9 8 7 6 5 4 3 2 1 10
0
输出样例
[0][9][8][7][6][5][4][3][2][1][10]
[0][1][2][3][4][5][6][7][8][9]
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
vector<int> vec; // 定义空的vector
int i, a[10], b;
for (i = 0; i < 10; i++) {
cin >> a[i];
vec.push_back(a[i]); // 将数组元素插入到vector中
}
cin >> b;
vec.insert(vec.begin(), b); // 在vector头部插入数b
// 用迭代器遍历并输出vector的元素值
for (auto it = vec.begin(); it != vec.end(); ++it) {
cout << "[" << *it << "]";
}
cout << endl;
// 对vector进行排序
sort(vec.begin(), vec.end());
// 删除vector尾部的元素
vec.pop_back();
// 再次用迭代器遍历并输出vector的元素值
for (auto it = vec.begin(); it != vec.end(); ++it) {
cout << "[" << *it << "]";
}
cout << endl;
vec.clear(); // 清空vector
return 0;
}
谢谢你的答案。没想到这么快就回复了,注意休息呀