教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

冒泡排序算法[動(dòng)圖介紹]

更新時(shí)間:2019年11月20日14時(shí)13分 來源:傳智播客 瀏覽次數(shù):

冒泡排序算法思想:

讓數(shù)組中的兩個(gè)相鄰數(shù)字進(jìn)行比較,數(shù)組中較大的值向下沉,值小的上浮,就類似于水中的氣泡,較大的下沉,較小的上升,慢慢冒出來。簡單的說就是數(shù)值大的會(huì)慢慢往前排,數(shù)據(jù)值小的會(huì)慢慢向后排,最終實(shí)現(xiàn)由小到達(dá)排列,最小的排在最前,最大的排到最后。

冒泡排序圖解:

==================================
算法執(zhí)行前

算法執(zhí)行前




=================================
算法執(zhí)行后

冒泡算法執(zhí)行后

====================================
冒泡算法執(zhí)行過程【動(dòng)圖版】

冒泡算法執(zhí)行過程


冒泡排序算法JAVA實(shí)現(xiàn)代碼


import com.jiajia.ArrayUtil.*;  // 按包名導(dǎo)入

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實(shí)現(xiàn)代碼

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)))



猜你喜歡:

Java算法之冒泡排序

Java如何實(shí)現(xiàn)冒泡排序算法?

用python實(shí)現(xiàn)八大排序算法

0 分享到:
和我們?cè)诰€交談!