forked from hariom20singh/python-learning-codes
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpeigonSort.py
More file actions
Latest commit
33 lines (25 loc) · 690 Bytes
/
Copy pathpeigonSort.py
File metadata and controls
33 lines (25 loc) · 690 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Python program to implement Pigeonhole Sort */
defpigeonhole_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.
forxina:
asserttype(x) isint, "integers only please"
holes[x-my_min] +=1
# Put the elements back into the array in order.
i=0
forcountinrange(size):
whileholes[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)
foriinrange(0, len(a)):
print(a[i], end=' ')