您的位置:首页 > 编程语言 > Java开发

冒泡排序----java实现

2014-03-26 21:10 323 查看
冒泡排序思路:第1次:顺序比较[b]从第0个到第len个(相邻两个)元素并把大的放后面,第一次进行完后,最大 的元素会在最后;[/b]

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

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));
}
}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: