Pythonソートアルゴリズムのカウントソート

3871 ワード

目次
  • 概要
  • コード例
  • 概要
              0 100,        O(n)sorted   
    

    コードの例
    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    """    
    
              0 100,        O(n)   
    
            ,     sorted   
    """
    import random
    
    
    def count_sort(ls, max_count=100):
        """    
    
        Args:
            :param ls: list,       
            :param max_count: int,          
        """
    
        ltmp = [0 for _ in range(max_count + 1)]
        for item in ls:
            ltmp[item] += 1
        ls.clear()
    
        for index, item in enumerate(ltmp, start=0):
            #  item index  
            for _ in range(item):
                ls.append(index)
    
    
    ls = [random.randint(0, 100) for _ in range(100)]
    random.shuffle(ls)
    count_sort(ls)
    print(ls)