先来介绍下核心思想,一直觉得编程重在思想:

冒泡排序的基本思想就是:从无序序列头部开始,进行两两比较,根据大小交换位置,直到最后将最大(小)的数据元素交换到了无序队列的队尾,从而成为有序序列的一部分;下一次继续这个过程,直到所有数据元素都排好序。

算法的核心在于每次通过两两比较交换位置,选出剩余无序序列里最大(小)的数据元素放到队尾。



冒泡排序算法如下:

1、比较相邻的元素。如果第一个比第二个大(小),就交换他们两个。

2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大(小)的数。

3、针对所有的元素重复以上的步骤,除了最后已经选出的元素(有序)。

4、持续每次对越来越少的元素(无序元素)重复上面的步骤,直到没有任何一对数字需要比较,则序列最终有序。



上图 别人的 偷来的 别介意

冒泡排序温故知新



算法就自己来了:


  1. public static void bubble_sort(int[] arr) {  
  2.         int i, j, temp, len = arr.length;  
  3.         for (i = 0; i < len - 1; i++)  
  4.             for (j = 0; j < len - 1 - i; j++)  
  5.                 if (arr[j] > arr[j + 1]) {  
  6.                     temp = arr[j];  
  7.                     arr[j] = arr[j + 1];  
  8.                     arr[j + 1] = temp;  
  9.                 }  
  10. }  


相关文章:

  • 2021-06-25
  • 2022-02-23
  • 2021-10-26
  • 2021-11-18
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-27
  • 2021-10-20
  • 2021-07-14
  • 2022-02-06
  • 2021-11-05
相关资源
相似解决方案