冒泡排序可以说是在排序算法中最为入门级别的算法之一了。因为其简单易于理解,常在课堂中作为排序的入门算法。
冒泡排序见名生意,其排序过程如同水里的泡一般由下往上逐级递升。下图所示为冒泡排序过程:假设待排序序列为{10, 2, 11, 8, 7}。
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#冒泡排序
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)
|
以上这篇比较排序之冒泡排序的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。