开发者社区 问答 正文

Python 计数排序

Python 计数排序

展开
收起
游客ejnn55cgkof5g 2020-02-14 19:36:37 4675 分享 版权
1 条回答
写回答
取消 提交回答
  • def countSort(arr): 
      
        output = [0 for i in range(256)] 
      
        count = [0 for i in range(256)] 
      
        ans = ["" for _ in arr] 
      
        for i in arr: 
            count[ord(i)] += 1
      
        for i in range(256): 
            count[i] += count[i-1] 
      
        for i in range(len(arr)): 
            output[count[ord(arr[i])]-1] = arr[i] 
            count[ord(arr[i])] -= 1
      
        for i in range(len(arr)): 
            ans[i] = output[i] 
        return ans  
      
    arr = "wwwrunoobcom"
    ans = countSort(arr) 
    print ( "字符数组排序 %s"  %("".join(ans)) )
    执行以上代码输出结果为:
    
    符数组排序 bcmnoooruwww
    
    2020-02-14 19:39:17
    赞同 展开评论
问答分类:
问答标签:
问答地址: