每日打卡一小时(第二十八天)

发布时间 2023-05-19 22:58:25作者: 伐木工熊大

一.问题描述

定义一个空的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);//插入的数
    {

        list<int> niu(a, a + 10);
        niu.push_front(b);
        list<int>::iterator it;
        for (it = niu.begin(); it != niu.end(); it++)
            cout << "[" << *it << "]";
        cout << endl;
        niu.sort( greater<int>());
        niu.pop_back();
        for (it = niu.begin(); it != niu.end(); it++)
            cout << "[" << *it << "]";    }
    return 0;
}