Skip to content

Commit 9aefd25

Browse files
committed
sort 0s, 1s and 2s
1 parent df6c83b commit 9aefd25

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

Array/sort_0s_1s_2s.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
def sort012(arr):
2+
low = 0
3+
mid = 0
4+
high = len(arr) - 1
5+
6+
while mid <= high:
7+
if arr[mid] == 0:
8+
arr[low], arr[mid] = arr[mid], arr[low]
9+
low = low + 1
10+
mid = mid + 1
11+
elif arr[mid] == 1:
12+
mid += 1
13+
else:
14+
arr[mid], arr[high] = arr[high], arr[mid]
15+
high = high - 1
16+
return arr
17+
18+
19+
arr1 = [0, 2, 1, 0, 2, 1, 2, 0, 1, 0, 2]
20+
print("before sorting:", arr1)
21+
sort012(arr1)
22+
print("after sorting:", arr1)

0 commit comments

Comments
 (0)