Create counting_sort.py

This commit is contained in:
marina 2023-08-02 20:55:05 -07:00 committed by GitHub
parent 28d28b817e
commit 4d2e7857b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

26
sorting/counting_sort.py Normal file
View File

@ -0,0 +1,26 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# author: bt3gl
def counting_sort(list):
K = max(lst)
counts = [0] * (K + 1)
for elem in lst:
counts[elem] += 1
starting_index = 0
for i, count in enumerate(counts):
counts[i] = starting_index
starting_index += count
sorted_lst = [0] * len(lst)
for elem in lst:
sorted_lst[counts[elem]] = elem
counts[elem] += 1
for i in range(len(lst)):
lst[i] = sorted_lst[i]