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;
    }
     
  • 相关阅读:
    [转载自 文顶顶]iOS开发UI篇—程序启动原理和UIApplication
    中专生自学Android到找到工作的前前后后
    HashCode与IEqualityComparer接口
    abp vnext使用记录之微服务
    asp.net core 外部认证多站点模式实现
    xamarin.android 绑定百度地图SDK遇到的问题
    asp.net core 之多语言国际化自定义资源文件
    asp.net core tags 扩展之 id 和 name
    asp.net 后台任务作业框架收集
    向量
  • 原文地址:https://www.cnblogs.com/parzulpan/p/9922969.html
Copyright © 2011-2022 走看看