现在的位置: 首页 > 算法 > 正文

冒泡法排序算法JAVA和python如何实现

2020年02月10日 算法 ⁄ 共 1046字 ⁄ 字号 评论关闭

  冒泡排序算法思想:

  让数组中的两个相邻数字进行比较,数组中较大的值向下沉,值小的上浮,就类似于水中的气泡,较大的下沉,较小的上升,慢慢冒出来。简单的说就是数值大的会慢慢往前排,数据值小的会慢慢向后排,最终实现由小到达排列,最小的排在最前,最大的排到最后。

  冒泡排序算法JAVA实现代码

  import com.jiajia.ArrayUtil.*; // 按包名导入

  public class BubbleSortMain {

  public static void main(String[] args) {

  int[] arr = {3,43,38,5,47,15,36,26,27,2,44,4,50,19,38};

  bubbleSort(arr);

  ArrayUtil.print(arr);

  }

  /**

  * 冒泡排序

  */

  private static void bubbleSort(int[] arr) {

  for (int i = 0; i < arr.length; i++) {

  for (int j = 0; j < arr.length - i -1; j++) { // 这里说明为什么需要-1

  if (arr[j] > arr[j + 1]) {

  int temp = arr[j];

  arr[j] = arr[j + 1];

  arr[j + 1] = temp;

  }

  }

  }

  }

  }

  冒泡排序算法python实现代码

  def bubble_sort(the_list):

  i = 0

  while i < len(the_list):

  j = 0

  while j < len(the_list)-1:

  print(the_list[j],the_list[j+1])

  if the_list[j] > the_list[j+1]:

  the_list[j], the_list[j+1] = the_list[j+1], the_list[j]

  j = j+1

  print(the_list)

  print("======"+str(the_list))

  i = i+1

  return the_list

  if __name__ == '__main__':

  the_list = [3, 43, 38, 5, 47, 15, 36, 26, 27, 2, 44, 4, 50, 19, 38]

  print("排序前:" + str(the_list))

  print("排序后:" + str(bubble_sort(the_list)))

  以上就是有关冒泡排序算法,更多算法内容可以关注学步园。

抱歉!评论已关闭.