Java实现简单的冒泡排序

谁借莪1个温暖的怀抱¢ 2022-05-13 09:30 206阅读 0赞

冒泡排序

  它适合数据规模很小的时候,而且它的效率也比较低,但是作为入门的排序算法,还是值得学习的。
  什么是冒泡排序?
  顾名思义,像水里吐的泡泡一样,因为水越深压强越大,而泡泡的在水里的由深变浅。所以,同样的气体体积,第一个出来的泡泡比第二个出来的要大。如下图所示
这里写图片描述
  冒泡排序的Java代码

  1. public class Bubble {
  2. /**
  3. * 冒泡排序算法方法,intArrays为传入的数组
  4. */
  5. public static void sort(int[] intArrays){
  6. int length=intArrays.length-1;
  7. for(int i=0;i<length;i++){
  8. //每一次循环找出最大值
  9. for(int j=0;j<length-i;j++){
  10. if(intArrays[j]>intArrays[j+1]){
  11. //如果前面的数比后面的数大就交换它们的位置
  12. NumberUtils.exchange(intArrays,j,j+1);
  13. }
  14. }
  15. }
  16. }
  17. /**
  18. * 执行入口,intArrays:待排序的数组,displaySort:是否显示排序前和排序后的内容。
  19. */
  20. public static void run(int intArrays[],boolean displaySort){
  21. //克隆一份数组
  22. int arrays[]= intArrays.clone();
  23. // 判断是否需要显示排序前的内容
  24. if(displaySort){
  25. NumberUtils.display(arrays,1);
  26. }
  27. // 记录开始时间
  28. long startTime=System.currentTimeMillis();
  29. sort(arrays);
  30. // 记录结束时间
  31. long endTime=System.currentTimeMillis();
  32. // 判断是否需要显示排序前的内容
  33. if(displaySort){
  34. NumberUtils.display(arrays,2);
  35. }
  36. System.out.println("冒泡排序用时:"+(endTime-startTime)+"毫秒");
  37. }
  38. /**
  39. * 测试排序用的主方法
  40. */
  41. public static void main(String[] args){
  42. //数组长度
  43. int length=30000;
  44. //最大值
  45. int max =100000000;
  46. //是否打印排序后的内容
  47. boolean display=false;
  48. //随机获取的排序数组
  49. int intArrays[]= NumberUtils.getRandomArs(length,max);
  50. Bubble.run(intArrays,display);
  51. }
  52. }

  运行main()方法,终端输出

  1. 排序前:98692885 78734154 7745406 97043438 68720323 42819146 8210211 27611617 78857452 ......51820813 58031010 85028575 47959133 49404805 84102205 12103474 46209285 79427548 12704778
  2. 排序后:3621 6462 7920 11753 15464 17636 19331 23490 31389 ......99954272 99955130 99969666 99970755 99

发表评论

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

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

相关阅读

    相关 Java 数组冒泡排序简单实现

    冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历待排序的元素并比较相邻的元素,然后交换它们的位置,直到整个序列是有序的。冒泡排序的基本思想是通过相邻元素的两

    相关 冒泡排序Java实现

    冒泡排序的核心思想是通过最近邻的两个元素进行交换,每一趟将一个最大的元素调整到数组的正确位置,直到整个数组完整有序才完毕. import java.util.Arra