package com.algo; /**冒泡排序 * 要点: * 1.从左往右相邻比较,如果左边比右边大,则交换位置。 * 2.右移一个位置,比较下一个。 * 3.第一次交换后,最大的数在最右边。 * 4.已排序后的右边的数是有序的。如: * 5,2,8,6,7,3 四个数, * 第一次比较后: 2,5,6,7,3,8 (8是有序的) * 第二次比较后:2,5,6,3,7,8 (7,8是有序的) * 第三次比较后:2,5,3,6,7,8 (6,7,8是有序的) * 第四次比较后:2,3,5,6,7,8 * * 效率: * 算法在最坏的情况作了N*(N-1)/2次的比较 * 时间级别:O(N square) * @author Beacher.Ma */ public class BubbleSortTest { public static void main(String args[]){ int ram[]={5,2,8,6,7,3}; for(int out=ram.length;out>0;out--){ for(int in=0;in<out-1;in++){ if(ram[in]>ram[in+1]){ int temp=ram[in]; //相邻比较 ram[in]=ram[in+1]; ram[in+1]=temp; } } } for(int i:ram){ System.out.print(i+" "); } } }