标签:import ... 比较 技术 ret -- 测试 冒泡 结果
冒泡排序算法:
第一次排序依次比较相邻的两个数,第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; } }
标签:import ... 比较 技术 ret -- 测试 冒泡 结果
原文地址:http://www.cnblogs.com/gne-hwz/p/7523769.html