tips:相关代码注释已经在代码中进行标注,精确到行的解释!
冒泡排序
原理:相邻两个数进行比较,符合条件的就进行后移,这样每一次就会把最小的放在最后,下一次再循环的时候把最后一个去掉,不参与比较,因为他在前一轮的比较中已经是最小的了。
代码实现
package com.lian.convert;
import com.alibaba.fastjson.JSON;
/**
* @author :LSS
* @description:冒泡排序
* @date :2021/3/30 10:54
*/
public class Bubbling {
/**
* @param nums 要排序的数组
*/
public static int[] BubblingSort(int[] nums) {
//定义中间变量,两个数据进行交换时做媒介
int temp;
//外层for循环控制循环次数
for (int i = 0; i < nums.length - 1; i++) {
//内层for循环进行每一次的前后两个数的比较
for (int j = 0; j < nums.length - i - 1; j++) {
//判断前后两个值的大小,当前程序为升序,如果想为降序,将条件中的大于号改为小于号即可
if (nums[j] > nums[j + 1]) {
//如果满足条件,则进行值的交换
temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
return nums;
}
public static void main(String[] args) {
//要排序的数组
int[] nums = {1, 4, 6, 32, 4, 13, 9};
//将排序之后逇数组转化为字符串并输出
System.out.println(JSON.toJSONString(BubblingSort(nums)));
}
}
总结
不积跬步,无以至千里!