TZOJ 5364: C++实验:STL之vector3

2022/6/17 5:50:12

本文主要是介绍TZOJ 5364: C++实验:STL之vector3,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

5364: C++实验:STL之vector3 分享至QQ空间

时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte
总提交: 989            测试通过:424

描述

 

将n个数字输入到vector里,并对其进行从大到小排序并输出。

部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。

 

  • C++
int main()
{
    vector<int> vec;
    while(Input(vec))
    {
        Sort(vec);
        for(vector<int>::iterator it=vec.begin();it!=vec.end();it++)
        {
            if(it!=vec.begin())
                cout<<" ";
            cout<<*it;
        }
        cout<<endl;
    }

    return 0;
}

 

输入

 

输入数据有多组,每组第一行为正整数n,第二行为n个整数,空格隔开。

输入以EOF结束。

 

 

输出

 

输出从大到小排序后的值。

AC感想:

咋说呢,还有很多要学习的,写的时候传参忘了地址符&,结构没输出,还是要记得啊;代码把主函数部分也贴出来了,记得删除掉噢~

#include<bits/stdc++.h>
using namespace std;
bool Input(vector<int> &vec)//传参一定要记得地址符&!!!!! 
{
    int n;
    if(cin>>n)
    {
        vec.clear();//清空栈
        while(n--)
        {
            int m;
            cin>>m;
            vec.push_back(m);//m入栈 
        } 
        return true;//输入的并非文件结束符EOF,程序继续 
    }
    return false;//这题因为主函数的是这个Input方法在while循环中,所以用这个方法判断程序是否结束 
}
bool comp(int a,int b)
{
    return a>b;//排序从小到大就用<;从大到小就用>; 
}
void Sort(vector<int> &vec)
{
    sort(vec.begin(),vec.end(),comp);//学到了吗,vector的排序写法^^ 
}
int main()
{
    vector<int> vec;
    while(Input(vec))
    {
        Sort(vec);
        for(vector<int>::iterator it=vec.begin();it!=vec.end();it++)
        {
            if(it!=vec.begin())
                cout<<" ";
            cout<<*it;
        }
        cout<<endl;
    }

    return 0;
}

 



这篇关于TZOJ 5364: C++实验:STL之vector3的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程