mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-23 21:11:08 +00:00
Remove boilerplate comments and unused variables (#2073)
This commit is contained in:
parent
20b21e5ec9
commit
6752e9c737
|
@ -18,42 +18,32 @@ def cycle_sort(array: list) -> list:
|
|||
>>> cycle_sort([])
|
||||
[]
|
||||
"""
|
||||
ans = 0
|
||||
array_len = len(array)
|
||||
for cycle_start in range(0, array_len - 1):
|
||||
item = array[cycle_start]
|
||||
|
||||
# Pass through the array to find cycles to rotate.
|
||||
for cycleStart in range(0, len(array) - 1):
|
||||
item = array[cycleStart]
|
||||
|
||||
# finding the position for putting the item.
|
||||
pos = cycleStart
|
||||
for i in range(cycleStart + 1, len(array)):
|
||||
pos = cycle_start
|
||||
for i in range(cycle_start + 1, array_len):
|
||||
if array[i] < item:
|
||||
pos += 1
|
||||
|
||||
# If the item is already present-not a cycle.
|
||||
if pos == cycleStart:
|
||||
if pos == cycle_start:
|
||||
continue
|
||||
|
||||
# Otherwise, put the item there or right after any duplicates.
|
||||
while item == array[pos]:
|
||||
pos += 1
|
||||
|
||||
array[pos], item = item, array[pos]
|
||||
ans += 1
|
||||
|
||||
# Rotate the rest of the cycle.
|
||||
while pos != cycleStart:
|
||||
|
||||
# Find where to put the item.
|
||||
pos = cycleStart
|
||||
for i in range(cycleStart + 1, len(array)):
|
||||
while pos != cycle_start:
|
||||
pos = cycle_start
|
||||
for i in range(cycle_start + 1, array_len):
|
||||
if array[i] < item:
|
||||
pos += 1
|
||||
|
||||
# Put the item there or right after any duplicates.
|
||||
while item == array[pos]:
|
||||
pos += 1
|
||||
|
||||
array[pos], item = item, array[pos]
|
||||
ans += 1
|
||||
|
||||
return array
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user