您的位置:首页 > 其它

算法:冒泡排序

2018-01-29 21:16 169 查看
package com.lyil;

import java.util.Arrays;
import java.util.Random;

/**
* 冒泡排序算法
* 数组长度为:n
* 第1次排序,从后往前推,依次比较,交换位置,取出最小的放到第1个位置(后面的数据会发生交换)
* 第2次排序,从后往前推,依次比较,交换位置,取出最小的放到第2个位置(后面的数据会发生交换)
* ......
* 第n次排序,从后往前推,依次比较,交换位置,取出最小的放到第n个位置(后面的数据会发生交换)
*
*
* @author:Administrator
* @Create:2018年1月30日 @version V1.0
* @Description:TODO
*/
public class BubbleSort {

public static void main(String[] args) {
//		int[] arr = getArr(10, 100);
int[] arr={127,118,105,101,112,100};

out: for (int i = 0; i < arr.length - 1; i++) {
boolean exchange = false;
for (int j = arr.length - 1; j > i; j--) {// 从后往前推,每一次循环即将最小的放到最前面,第i次需要执行循环体length-i次,故j>i即可
// 交换数据
if (arr[j] < arr[j - 1]) {
// 执行交换
int temp = arr[j - 1];
arr[j - 1] = arr[j];
arr[j] = temp;
exchange = true;
}
}
// 没有执行交换,则表明排序结束
if (!exchange) {
break out;
}

System.out.println(Arrays.toString(arr));
}

}

private static int[] getArr(int len, int n) {
int[] arr = new int[len];
for (int i = 0; i < len; i++) {
arr[i] = new Random().nextInt(n);
}
return arr;
}

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