【CPP0040】list应用测试

发布时间 2023-05-21 19:08:57作者: 千恒

应用STL中的list完成功能测试。

设计要求:

 定义一个空的list,将用户输入的数组a[10]的10个数插入到list中,在list头部插入数b,用迭代器遍历list并输出其中的元素值。然后将list从大到小排序,删除list尾部的元素,用迭代器遍历list并输出其中的元素值。最后将list清空。

#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);//插入的数
{

/*请在这里填写答案*/

}
return 0;
}

输入样例:

10 1 2 3 4 5 6 7 8 9
0

输出样例:

 

[0][10][1][2][3][4][5][6][7][8][9]
[10][9][8][7][6][5][4][3][2][1]

代码实现:

list<int> v;
//vector<int>::iterator itBegin = v.begin();
//list<int>::iterator itEnd = v.end();
list<int>::iterator it = v.begin();
v.push_back(a[0]);
v.push_back(a[1]);
v.push_back(a[2]);
v.push_back(a[3]);
v.push_back(a[4]);
v.push_back(a[5]);
v.push_back(a[6]);
v.push_back(a[7]);
v.push_back(a[8]);
v.push_back(a[9]);
v.push_front(b);

for(it=v.begin();it!=v.end();it++)
{
cout<<"["<<*it<<"]";
}
cout<<endl;
v.sort();
v.reverse();
v.pop_back();
for(it=v.begin();it!=v.end();it++)
{
cout<<"["<<*it<<"]";
}
v.clear();