冒泡排序----java实现

冒泡排序思路:第1次:顺序比较从第0个到第len个(相邻两个)元素并把大的放后面,第一次进行完后,最大                                         的元素会在最后;

                           第2次:顺序比较从第0个到第len-1个相邻两个),因为最大的已经定位置了,不需要参与比                                          较,即只需要循环len-2次,这样倒数第二大的就定在了倒数第二个位置。。。。

package com.sheepmu.text;

import java.util.Arrays;
import java.util.Comparator;
  /*   
  * @author sheepmu
  */ 
public class Sort {
	 public static void main(String[] args){
		 int[] arr={38,5,19,26,49,97,1,66};
		  
		 bubbleSort(arr);
 
	 }	 	 
	 public static  void bubbleSort(int[] arr){
		 System.out.println("原来顺序----->"+Arrays.toString(arr));
		 int len=arr.length;
		 int flag=1;
		 int temp=0;
		 for(int n=1;n<len&&flag==1;n++){//n表示次数
			 flag=0;
			 for(int i=0;i<len-n;i++){//第一次时,循环进行len-1次,把最大的放到了最后。第2次时,把最大的2个放到了最后,只需要循环前len-2个就行咯。
				 if(arr[i]>arr[i+1]){
					 flag=1;//表示还有元素的移动。
					 temp=arr[i+1];
					 arr[i+1]=arr[i];
					 arr[i]=temp;
				 }		 
			 }
			 System.out.println("第"+n+"次排序----->"+Arrays.toString(arr));
		 }
	 }
}	 
 


posted @ 2014-03-26 21:10  IT专业户  阅读(174)  评论(0编辑  收藏  举报