Counting Sort 1

  • + 0 comments
    public static List<int> countingSort(List<int> arr)
    {
        var countMap = arr.GroupBy(n => n)
                        .OrderBy(g => g.Key)
                        .ToDictionary(g => g.Key, g => g.Count());
    
        List<int> zeros = Enumerable.Repeat(0, 100).ToList();
    
        for (int i = 0; i < zeros.Count; i++)
        {
            if (countMap.ContainsKey(i))
            {
                zeros[i] = countMap.GetValueOrDefault(i); 
            }
        }
    
        return zeros;
    }