美文网首页
python算法:冒泡排序与快速排序的区别

python算法:冒泡排序与快速排序的区别

作者: DD丿 | 来源:发表于2023-05-28 17:31 被阅读0次

    一、冒泡排序方法是通过比较相邻元素的大小,不断将较大的元素交换到后面,最终将整个序列排好。在下方代码中,对于给定列表 my_list,我们使用了 bubble_sort 函数进行排序,并最终输出按升序排列的列表 sorted_list

    # 冒泡排序算法

    def bubble_sort(arr):

        n= len(arr)

        for iin range(n- 1):

            for jin range(n- i- 1):

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

                    arr[j], arr[j+ 1] = arr[j+ 1], arr[j]

        return arr

    # 调用冒泡排序

    my_list= [4, 2, 8, 1, 5]  # 待排序的列表

    sorted_list= bubble_sort(my_list)  # 使用冒泡排序算法排序

    print(sorted_list)  # 输出排序后的列表


    二、 快速排序算法是通过一个基准元素,将序列分成左右两部分,并递归对两部分进行排序,最终得到排好序的整个序列。在下方代码中,我们使用 quick_sort 函数对列表 sp_list 进行排序,并将排序后的结果输出到控制台。

    # 快速排序算法

    def quick_sort(brr):

        if len(brr) < 2:

            return brr

        pivot= brr[0]

        left= []

        right= []

        equal= [pivot]

        for iin brr[1:]:

            if i> pivot:

                right.append(i)

            elif i< pivot:

                left.append(i)

            else:

                equal.append(i)

        return quick_sort(left) + equal+ quick_sort(right)

    # 调用冒泡排序

    sp_list= [3, 1, 7, 2, 5, 9, 4] # 待排序的列表

    sd_list= quick_sort(sp_list)  # 使用快速排序算法排序

    print(sd_list)  # 输出排序后的列表

    相关文章

      网友评论

          本文标题:python算法:冒泡排序与快速排序的区别

          本文链接:https://www.haomeiwen.com/subject/qdydedtx.html