zoukankan      html  css  js  c++  java
  • Python代码实现归并排序

    一、归并排序

      先通过递归将列表元素分开,然后通过合并比较大小进行排序。

    二、上代码

    def merge(li, low, mid, high):
        """
        归并排序
        :param li:参数列表
        :param low: 列表最左边
        :param mid: 列表中间的
        :param high: 列表最右边
        :return:
        """
        i = low
        j = mid + 1
        ltmp = []
        while i <= mid and j <= high:
            if li[i] < li[j]:
                ltmp.append(li[i])
                i += 1
            else:
                ltmp.append(li[j])
                j += 1
        while i <= mid:
            ltmp.append(li[i])
            i += 1
        while j <= high:
            ltmp.append(li[j])
            j += 1
        li[low:high+1] = ltmp
    
    
    li = [2, 4, 5, 6, 1, 3, 7, 8, 9]
    # merge(li,0,3,8)
    # print(li)
    
    
    def merge_sort(li, low, high):
        if low < high:
            mid = (low + high) // 2
            merge_sort(li, low, mid)
            merge_sort(li, mid+1, high)
            merge(li, low, mid, high)
    
    
    merge_sort(li, 0, 8)
    print(li)
  • 相关阅读:
    ASP.NET 作业题
    作业题
    作业题...
    作业题
    控件属性
    ASP控件解释
    排序
    5. 用自己的语言描述一下程序连接数据库的过程。
    4. 什么是AJAX
    3.怎样计算页面执行的时间?
  • 原文地址:https://www.cnblogs.com/youhongliang/p/12904728.html
Copyright © 2011-2022 走看看