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

java冒泡排序

2016-09-18 09:01 302 查看
冒泡排序计较简单 ,一般java初学时就能学到,但鉴于面试时可能会是面试题,所以我就再多费些话。

package tarena.day0501;

import java.util.Arrays;

import java.util.Random;

public class Test1 {
public static void main(String[] args) {
//产生一个乱序数组赋给a
int[]a = suiji();
System.out.println(Arrays.toString(a));
System.out.println("========================");

sort(a);//排序

 
System.out.println("========================");
System.out.println(Arrays.toString(a));
}
//1.返回类型 2.方法名 3.参数列表
static int[] suiji(){
// 5 + [0,6)
int len = 5 + new Random().nextInt(6);
//创建len长度的数组
int []a = new int[len];
//遍历每个位置填入100内随机整数
for (int i = 0; i < a.length; i++) {
a[i] = new Random().nextInt(100);
}
//返回数组
return a;
}
//void 空,表示没有返回值
static void sort(int[] a){
for (int i = 0 ; i < a.length; i++) {
boolean flag = false;//没有交换
//j循环将最小值向前推到i位置
for (int j = a.length-1 ; j > i  ; j--) {
//相邻的值后面的值小,向前交换
if (a[j]<a[j-1]) {
int c = a[j];
a[j]=a[j-1];

a[j-1]=c;
flag = true;//有交换
}
}
if (!flag) break;//排序结束,中断i循环
System.out.println(Arrays.toString(a));
}
}

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