From efc7e5b94aa0552ad4d97a63f8e1451da332a92c Mon Sep 17 00:00:00 2001 From: archi-007 <56483460+archi-007@users.noreply.github.com> Date: Fri, 18 Oct 2019 00:01:52 +0530 Subject: [PATCH] pigeonhole_sort.py Implementation of pigeonhole sort algorithm in python. --- programs/programs/pigeonhole_sort.py | 29 ++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 programs/programs/pigeonhole_sort.py diff --git a/programs/programs/pigeonhole_sort.py b/programs/programs/pigeonhole_sort.py new file mode 100644 index 0000000..82faec5 --- /dev/null +++ b/programs/programs/pigeonhole_sort.py @@ -0,0 +1,29 @@ +def pigeonhole_sort(a): + + my_min = min(a) + my_max = max(a) + size = my_max - my_min + 1 + + holes = [0] * size + + for x in a: + assert type(x) is int, "integers only please" + holes[x - my_min] += 1 + + i = 0 + for count in range(size): + while holes[count] > 0: + holes[count] -= 1 + a[i] = count + my_min + i += 1 + + +a = [8, 3, 2, 7, 4, 6, 8] +print("Sorted order is : ", end = ' ') + +pigeonhole_sort(a) + +for i in range(0, len(a)): + print(a[i], end = ' ') + +