每日打卡一小时(第二十七天)
一.问题描述
定义一个空的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; }
二.设计思路
注意向量容器的使用方法,注意迭代器的定义方法,注意使用的函数是否被容器所支持
三.代码实现
#include<iostream> #include<list> #include<algorithm> using namespace std; int main() { int i, a[10], b; for (i = 0; i < 10; i++) { scanf("%d", &a[i]); } scanf("%d", &b);//插入的数 { vector<int> vec(a,a+10); vector<int>::iterator it; it = vec.begin(); vec.insert(it, b); for (it = vec.begin(); it != vec.end(); it++) { cout << "[" << *it << "]" ; } cout<<endl; sort(vec.begin(), vec.end()); vec.pop_back(); for (it = vec.begin(); it != vec.end(); it++) { cout << "[" << *it << "]" ; } vec.clear(); } return 0; }