码迷,mamicode.com
首页 > 编程语言 > 详细

图解算法系列之冒泡排序(Low版)

时间:2018-12-11 17:29:31      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:因此   冒泡排序   log   ber   images   依次   static   序列   sha   

(1)算法描述

对于给定的线性序列,每一个元素与其下一个元素进行比较,如果满足大于当前元素就交换位置,然后依次向下比较。利用数学归纳法得知:N个元素总共比较N(N-1)次。

(2)图解算法

技术分享图片

(3) C/C++代码实现

Custom.h

void BubbleSort(int arr[], int number);

Custom.cpp

void BubbleSort(int arr[], int number) {
    for (int i = 0; i < number; i++) {
        for(int j = 0; j < number-1; j++) {
            if(arr[j] > arr[j+1]) {
                int temp = arr[j+1];
                arr[j+1] = arr[j];
                arr[j] = temp;
            }
        }
    }
}

(4)Java代码实现

public class BubbleSort {
    public static void sort(int[] arr, int number) {
        for (int i = 0; i < number; i++) {
            for (int j = 0; j < number-1; j++) {
                if (arr[j] > arr[j+1]) {
                    int temp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = temp;
                }
            }
        }
    }
}

(5) 时间复杂度分析

无论是否数据规模处于最好还是最坏情况,都需要每个元素进行比较,因此时间复杂度是O(n^2)。

图解算法系列之冒泡排序(Low版)

标签:因此   冒泡排序   log   ber   images   依次   static   序列   sha   

原文地址:http://blog.51cto.com/xvjunjie/2328911

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!