美文网首页
2 - JAVA实现冒泡排序

2 - JAVA实现冒泡排序

作者: minminaya | 来源:发表于2017-03-26 15:50 被阅读14次

    基本思想

    • 每次比较两个相邻的的元素,如果他们的顺序错误就把他们交换过来

    Bean

    public class Bean {
        int score;
        String name;
        public Bean(int score, String name) {
            super();
            this.score = score;
            this.name = name;
        }
    }
    

    主程序

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    import java.util.Scanner;
    
    /**
     * @author NIWA
     * 桶排序
     * 
     * 依次输入5个数字,冒泡排序
     */
    public class Main {
    
        List<Bean> list = new ArrayList<>();
        public static void main(String[] args) {
            Main mMain = new Main();
            mMain.scanf();
            mMain.sort();
            mMain.print();
    
        }
    
    
        private void print() {
            for (int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i).name+list.get(i).score);
            }
        }
    
        /**
         *  输入数据
         * */
        private void scanf() {
            Scanner sc1 =new Scanner(System.in);
            int n = sc1.nextInt();
    
            for(int i = 0;i < n; i++){
                list.add(i, new Bean(0, null));
            }
            for (int i = 0; i < n; i++) {
                Scanner sc2 = new Scanner(System.in);
                list.get(i).name = sc2.next();
                Scanner sc3 = new Scanner(System.in);
                list.get(i).score = sc3.nextInt();
            }
        }
        /**
         * 冒泡排序/
         */
        private void sort() {
            for (int i = 0; i < list.size()-1; i++) {//假如有n个数,只需要进行n-1次
                for (int j = 0; j < list.size() - i -1; j++) {
                    if(list.get(j).score > list.get(j+1).score){//从小到大排序
                        Collections.swap(list, j, j+1);//交换list数据
                    }
                }
            }
        }
    }
    
    

    测试
    输入3,代表排3个数
    a
    2
    b
    3
    c
    4
    输出的是a2 b3 c4

    并且解决了桶排序不能有重复分数出现的问题

    相关文章

      网友评论

          本文标题:2 - JAVA实现冒泡排序

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