Java冒泡排序算法
Java中冒泡排序的实现
“冒泡“排序算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
原理:
1.比较数组中两个相邻元素,如果第一个数比第二个大,就交换它们的位置
2.每一次比较,都会产生一个最大或者最小的数
3.下一轮少一次排序
4.依次循环,直到结束
示例:完成数组{5,3,2,4,1}的升序排列

代码:
public class ArrayDemo5 {
public static void main(String[] args) {
int [] a = {5,3,2,4,1};
int [] sort = sortArray(a); //调用下面的 sortArray方法,返回一个排序后的数组
//打印排序后的元素,方法一:
System.out.println(Arrays.toString(sort));
//打印排序后的元素,方法二(使用增强for循环):
for (int i:sort) {
System.out.print(i + " ");
}
}
/**
* @Author muzl
* @Description //定义一个排序方法
* @Date 2021/3/4 15:22
* @Param
* @return
**/
public static int[] sortArray(int []array){
//外层循环,判断走多少次
for (int i = 0; i < array.length - 1; i++) {
//内层循环,比较两个数
for (int j = 0; j < array.length-1-i; j++) {
//如果后一个数比前一个数大,则交换位置
if (array[j+1] < array[j]){
int temp = array[j]; //定义临时变量,两数交换时作为中间 “人”
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
return array;
}
}

浙公网安备 33010602011771号