Skip to content

Commit e36f47d

Browse files
Add pancake sort python implementation
1 parent d9e1594 commit e36f47d

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

Sorting/Pancake sorting/pancake.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
def flip(arr, i):
2+
start = 0
3+
while start < i:
4+
temp = arr[start]
5+
arr[start] = arr[i]
6+
arr[i] = temp
7+
start += 1
8+
i -= 1
9+
10+
def find_max(arr, n):
11+
mi = 0
12+
for i in range(0,n):
13+
if arr[i] > arr[mi]:
14+
mi = i
15+
return mi
16+
17+
def pancake_sort(arr, n):
18+
19+
curr_size = n
20+
while curr_size > 1:
21+
mi = find_max(arr, curr_size)
22+
23+
if mi != curr_size-1:
24+
flip(arr, mi)
25+
26+
flip(arr, curr_size-1)
27+
curr_size -= 1
28+
29+
n = len(arr)
30+
pancake_sort(arr, n)

0 commit comments

Comments
 (0)