Java-排序 【冒泡排序】

╰半夏微凉° 2022-12-29 09:27 255阅读 0赞

冒泡排序基本的思想是每次比较两个数,大的沉下去,小的冒起来

算法主要是比较相邻的两个元素,如果第一个比第二个大,就交换他们两个。一直从开始的一对比较到最后的一对 ,直到最后

时间复杂度:O(n²)

排序过程如下

2020122118345821.gif

代码

  1. package com.niu.demo;
  2. import java.util.Arrays;
  3. /**
  4. * @description: 冒泡排序
  5. * @author: nxq email: niuxiangqian163@163.com
  6. * @createDate: 2020/12/21 6:01 下午
  7. * @updateUser: nxq email: niuxiangqian163@163.com
  8. * @updateDate: 2020/12/21 6:01 下午
  9. * @updateRemark:
  10. * @version: 1.0
  11. **/
  12. public class BubblingSort {
  13. public static void main(String[] args) {
  14. int[] arr = {5,6,3,1,8,7,2,4};
  15. bubblingSort(arr);
  16. System.out.println(Arrays.toString(arr));
  17. }
  18. public static void bubblingSort(int[] arr) {
  19. if (arr == null || arr.length < 2) {
  20. return;
  21. }
  22. for (int i = 0; i < arr.length - 1; i++) { //对比的次数
  23. for (int j = 0; j < arr.length - i - 1; j++) { //每次从哪个位置开始对比
  24. if (arr[j] > arr[j + 1]) { //如果前一个元素大于后一个元素
  25. int temp = arr[j]; //把前一个元素赋值给temp
  26. arr[j] = arr[j + 1]; //把后面小的元素赋值给前面的元素
  27. arr[j + 1] = temp; // 把大元素的值给后面的小元素
  28. }
  29. }
  30. }
  31. }
  32. }

最终按照从小到达的方式输出,如果想从大到小排序,把 if (arr[j] > arr[j + 1]) 改为 if (arr[j] < arr[j + 1]) 即可

发表评论

表情:
评论列表 (有 0 条评论,255人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java-排序冒泡排序

    冒泡排序基本的思想是每次比较两个数,大的沉下去,小的冒起来 算法主要是比较相邻的两个元素,如果第一个比第二个大,就交换他们两个。一直从开始的一对比较到最后的一对 ,直到最后