Truth & Free

The truth shall make you free.

   :: 首页  :: 新随笔  ::  ::  :: 管理
算法描述:对于给定的n个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于后面的记录时,交换位置,进行一轮比较和交换后,n个记录中的最大记录将位于第n位;然后对前(n-1)个记录进行第二轮比较;重复该过程直到进行比较的记录只剩下一个为止。
package sorting;

/**
 * 冒泡排序
 * 平均O(n^2),最好O(n),最坏O(n^2);空间复杂度O(1);稳定;简单
 * @author zeng
 *
 */
public class BubbleSort {
	
	public static void bubbleSort(int[] a){

		int n = a.length;
		int temp = 0;
		for(int i=0;i<n;i++){
			for(int j=0;j<n-i-1;j++){
				if(a[j]<a[j+1]){
					temp = a[j];
					a[j] = a[j+1];
					a[j+1] = temp;
				}	
			}
		}
	}
	
	public static void main(String[] args){
		int[] a ={49,38,65,97,76,13,27,50};
		bubbleSort(a);
		for(int j:a)
			System.out.print(j+" ");
	}
}

  

posted on 2015-04-25 21:21  andyzeng24  阅读(650)  评论(0编辑  收藏  举报