开发者社区> 问答> 正文

Python 计数排序

Python 计数排序

展开
收起
游客ejnn55cgkof5g 2020-02-14 19:36:37 4648 0
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
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载