美文网首页
0.3.1 输入排序

0.3.1 输入排序

作者: RockyLuo_290f | 来源:发表于2019-05-09 04:50 被阅读0次

    查找和排序

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

    示例:
    jack 70
    peter 96
    Tom 70
    smith 67

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

    从低到高

    smith 67

    jack 70
    Tom 70
    peter 96

    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    public class InputSort {
        public static void sort(String[] users, Integer[] scores, int sortType) {
            if(scores == null || scores.length <2) {
                return;
            }
            for(int i =0; i< scores.length-1; i++) {
                String tempUser;
                Integer tempScore;
                for(int j= i+1; j < scores.length; j++) {
                    if(((sortType == 0)&&(scores[i] < scores[j])) || ((sortType == 1)&&(scores[i] > scores[j]))){
                        tempUser = users[i];
                        users[i] = users[j];
                        users[j] = tempUser;
                        
                        tempScore = scores[i];
                        scores[i] = scores[j];
                        scores[j] = tempScore;
                        
                    }
                    
                }
            }
        }
        
        
        public static void main(String[] args){
            BufferedReader reader= new BufferedReader(new InputStreamReader(System.in));
            try {
                String str = null;
                if((str = reader.readLine()) !=null) {
                    int count = Integer.parseInt(str);
                    int sortType = Integer.parseInt(reader.readLine());
                    
                    String[] users = new String[count];
                    Integer[] scores = new Integer[count];
                    for(int i=0; i< count; i++) {
                        String[] lineParts = reader.readLine().split(" ");
                        String user = lineParts[0];
                        Integer score = Integer.parseInt(lineParts[1]);
                        users[i] = user;
                        scores[i] = score;
                    }
                    sort(users, scores, sortType);
    
                    for(int i=0;i<count;i++){
                        System.out.println(users[i]+" "+scores[i]);
                    }
                }
            }catch(IOException e){
                
            }finally{
                
            }
        }
    
    }
    

    相关文章

      网友评论

          本文标题:0.3.1 输入排序

          本文链接:https://www.haomeiwen.com/subject/oqfioqtx.html