【算法】【JAVA】冒泡排序

冒泡排序是排序中一种较为基本的方法,其核心算法即通过一个嵌套的循环实现相邻元素之间的排序,假设共有n个元素,以升序排序为例,算法的步骤如下:

1.首先对数组进行遍历,从第0个元素开始,判断该元素与后一个元素的大小,如后一个元素大,则不执行任何操作,如后一个元素较小,则两元素交换。遍历一遍之后,共执行N-1次判断,此时可以确保数组的最后一个元素为所有元素中最大的。此为第一层循环结构。

2.接下来再对剩下的元素进行如步骤1中的判断,需要注意的是,此时判断的执行次数不再为N-1次,因为最后一个元素的顺序已经确定,因此次数为N-2次。依次执行操作,知道循环次数为1,即不需要判断前后两元素大小为止。此为第二层循环。

3.将所有元素进行排序之后,将所得到的最后数组进行输出。需要注意的是,JAVA中并不能一次输出一个数组,即System.out.println(array)这种写法是不正确的,需要用循环依次输出a[i]。

class BubbleSort  {

	public static void main(String[] args){
		int[] array = {3,4,6,2,1,8,9,7,5,10};
		for(int i=array.length-1;i>0;i--){
			for(int j=0;j<i;j++){
				int temp;
				if(array[j]>array[j+1]){
					temp=array[j];
					array[j]=array[j+1];
					array[j+1]=temp;
				}
			}
		}
		for(int i=0;i<array.length;i++){
			System.out.println(array[i]);
		}
	}
}

  

 

posted @ 2012-09-14 17:18  Sayary  阅读(185)  评论(0)    收藏  举报