冒泡排序可以說是在排序算法中最為入門級別的算法之一了。因為其簡單易於理解,常在課堂中作為排序的入門算法。
冒泡排序見名生意,其排序過程如同水裡的泡一般由下往上逐級遞升。下圖所示為冒泡排序過程:假設待排序序列為{10, 2, 11, 8, 7}。
Java
package com.algorithm.sort.bubble; import java.util.Arrays; /** * 冒泡排序 * Created by yulinfeng on 6/19/17. */ public class Bubble { public static void main(String[] args) { int[] nums = {10, 2, 11, 8, 7}; nums = bubbleSort(nums); System.out.println(Arrays.toString(nums)); } /** * 冒泡排序 * @param nums 待排序數字序列 * @return 排好序的數字序列 */ private static int[] bubbleSort(int[] nums) { for (int i = 0; i < nums.length; i++) { for (int j = 0; j < nums.length - i - 1; j++) { if (nums[j] > nums[j + 1]) { int temp = nums[j]; nums[j] = nums[j + 1]; nums[j + 1] = temp; } } } return nums; } }
Python3
#冒泡排序 def bubble_sort(nums): for i in range(len(nums)): for j in range(len(nums) - i - 1): if nums[j] > nums[j + 1]: temp = nums[j] nums[j] = nums[j + 1] nums[j + 1] = temp return nums nums = [10, 2, 11, 8, 7] nums = bubble_sort(nums) print(nums)
以上這篇比較排序之冒泡排序的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。