zoukankan      html  css  js  c++  java
  • 冒泡排序算法

    冒泡排序算法:

    第一次排序依次比较相邻的两个数,第n个数与n+1个数比较,n大则n和n+1交换,否则继续比较n+1与n+2........最后最大的数会沉底。

    第二次排序。。。。。。。。。。次大的数会沉底

    第n躺后排序完成。

    冒泡排序算法:bubbleSort

    public static void bubbleSort(int a[]){
            for (int i = a.length; i > 0; i--) {
                for(int j=0;j<i-1;j++){
                    int temp=a[j];
                    if(a[j]>a[j+1]){
                        a[j]=a[j+1];
                        a[j+1]=temp;
                    }
                }
            }
        }
        public static void printSortData(int a[]){
            for (int i =0; i<a.length; i++){
                System.out.println(a[i]);
            }
        }

    方法调用

    public static void main(String args[]){
    
    int []a={1,9,10,5,3,6,56,4};
            bubbleSort(a);
            printSortData(a);
    }

    结果如上图。时间复杂度n^2

    测试类

    import java.util.ArrayList;
    import java.util.List;
    
    public class Aaa {
        public static void main(String args[]) {
            List<Person> array = new ArrayList<Person>();
            array.add(new Person("张三", 12));
            array.add(new Person("aa", 15));
            array.add(new Person("ww", 98));
            array.add(new Person("lisi", 50));
    for (int i = array.size(); i > 0; i--) { for(int j=0;j<i-1;j++){ Person p=array.get(j); if(array.get(j).getAge()<array.get(j+1).getAge()){ array.set(j, array.get(j+1)); array.set(j+1,p); } } } for (int i = array.size()-1; i >= 0; i--){ System.out.println(array.get(i).getAge()); } } }

    person.java

    public class Person {
    
        public int age;
        public String name;
        public Person(){
            
        }
        public Person(String name,int age) {
            this.age = age;
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        
    }
  • 相关阅读:
    [Project Euler] Problem 58
    [Project Euler] Problem 59 Decrption
    [Project Euler] Problem 57
    VS2010 + WinDDK 搭建驱动开发环境
    利用C++模板特性计算各整数类型的最大最小值
    虚表的那些事儿
    ModuleNotFoundError: No module named 'pip._vendor.six'
    OpenCVPython系列之单应性查找对象理论篇
    OpenCVPython系列之背景分离
    OpenCVPython系列之Shi—tomasi拐角检测器
  • 原文地址:https://www.cnblogs.com/gne-hwz/p/7523769.html
Copyright © 2011-2022 走看看