zoukankan      html  css  js  c++  java
  • 计算机考研复试真题 成绩排序

    题目描述

    查找和排序

    题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩
    都按先录入排列在前的规则处理。

    示例:
    jack      70
    peter     96
    Tom       70
    smith     67

    从高到低  成绩 
    peter     96 
    jack      70 
    Tom       70 
    smith     67

    从低到高

    smith     67

    jack      70 
    Tom      70 
    peter     96

    输入描述:

    输入多行,先输入要排序的人的个数,然后输入排序方法0(降序)或者1(升序)再分别输入他们的名字和成绩,以一个空格隔开

    输出描述:

    按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开

    示例1

    输入

    3
    0
    fang 90
    yang 50
    ning 70

    输出

    fang 90
    ning 70
    yang 50

    --------------------------------------------------------------------------------------------------------------------------

    /*
    解题思路:貌似用二维向量+桶排序能解决,但是还没学习,先码住以后再看。
            大概思路就是用一个二维向量,把每个分数连带姓名存在向量里,升序的话就顺序输出向量(即二维数组),降序的话就反序输出即可,
            这大概就是桶排序也成基数排序的思想,适用于分布均匀的元素。
    */
    #include <iostream>
    #include <vector>
    #include <string.h>
    using namespace std;
     
    int main(){
        int n;
        while(cin >> n){
            int flag;
            cin >> flag;
            string name;
            int score;
            vector<vector<string> > students(101, vector<string>());
            for(int i = 0;i < n;i++){
                cin >> name >> score;
                students[score].push_back(name);
            }
            if(flag){
                for(int i = 0;i < students.size();i++){             
                    for(int j = 0;j < students[i].size();j++)
                        cout << students[i][j] << " " << i << endl;
                }
            }
            else{
                for(int i = students.size() - 1;i >= 0;i--){            
                    for(int j = 0;j < students[i].size();j++)
                        cout << students[i][j] << " " << i << endl;
                }
            }     
        }
        return 0;
    }
     
  • 相关阅读:
    Mac下github项目检出与提交
    Mac下Vim配置语法高亮
    Mac下JDK安装配置
    shiro实现app和web统一登录
    mysql优化30条建议
    log4j配置说明
    lambda遍历的精简
    lambda表达式详解
    dubbo
    java8新特性lamda表达式在集合中的使用
  • 原文地址:https://www.cnblogs.com/parzulpan/p/9922969.html
Copyright © 2011-2022 走看看