zoukankan      html  css  js  c++  java
  • python实现基数排序

    # 基数排序有着局限性,只能是整数,
    # 排序的时候要先排后面一个条件的(多条件排序)#如本例中,先从个位开始排起
    # 多关键字排序
    # 从低关键字开始排序 #
    @File: radix_sort ############################################## # def get_digit(num, i): # 获取整数第i位数字 # # return num // (10 ** i) % 10 # # # # # # def int_to_list(num): # # li = [] # # while num > 0: # # li.append(num % 10) # # num = num // 10 # # li.reverse() # # return li # ############################################## def list_to_buckets(li, i): buckets = [[] for _ in range(10)] for num in li: digit = num // (10 ** i) % 10 buckets[digit].append(num) return buckets def buckets_to_list(buckets): li = [] for bucket in buckets: for num in bucket: li.append(num) return li # return [num for bucket in buckets for num in bucket] def radix_sort(li): max_val = max(li) i = 0 while 10 ** i <= max_val: li = buckets_to_list(list_to_buckets(li, i)) i += 1 return li print(radix_sort([5, 3, 9, 8, 1, 0, 99]))
  • 相关阅读:
    webpack--------类似gulp的工具,在gulp后面出来的
    canvas 绘制矩形
    HTML5 Canvas基础知识
    视差滚动效果
    闭包的理解
    AJAX 跨域
    json与jsonp的区别
    针对AJAX与JSONP的异同
    如何使用JSONP
    JSONP的客户端的具体实现
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/10169020.html
Copyright © 2011-2022 走看看