冒泡算法
冒泡算法是比较经典的排序算法
原理:
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。
算法如下:
1 package test; 2 3 class test{ 4 public static void main(String args[]) 5 { 6 int[] a={8,1,3,4,5,3,7,3,4,1}; 7 for(int i = 0;i<a.length;i++) 8 for (int j = i+1; j <a.length ; j++) { 9 if (a[i]<=a[j]) { 10 int m =a[i]; 11 a[i] = a[j]; 12 a[j] = m; 13 } 14 } 15 for(int i:a) 16 { 17 System.out.printf(" "+i); 18 } 19 } 20 }
结果:
8 7 5 4 4 3 3 3 1 1
时间复杂度 O(n2)