Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Create Pigeonhole_Sort.py
  • Loading branch information
KavinduDr authored Jan 29, 2025
commit 5fd8183d67c3ba0bb0e3669afff331c7b4eb128d
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Python program to implement Pigeonhole Sort

def pigeonhole_sort(a):
# size of range of values in the list
# (ie, number of pigeonholes we need)
my_min = min(a)
my_max = max(a)
size = my_max - my_min + 1

# our list of pigeonholes
holes = [0] * size

# Populate the pigeonholes.
for x in a:
assert type(x) is int, "integers only"
holes[x - my_min] += 1

# Put the elements back into the array in order.
i = 0
for count in range(size):
while holes[count] > 0:
holes[count] -= 1
a[i] = count + my_min
i += 1


a = [8, 1, 2, 7, 4, 5, 8]
print("Sorted order is : ", end = ' ')

pigeonhole_sort(a)

for i in range(0, len(a)):
print(a[i], end = ' ')