我已經給出了樣本輸入和樣本輸出。
EVEN 索引僅排序,ODD 索引保持原樣。
樣本輸入:
5
3 9 1 44 6
示例輸出:
1 9 3 44 6
uj5u.com熱心網友回復:
以下是您可以使用修改后的冒泡排序技術執行的操作:
def sortEvens(arr):
arrLen = len(arr)
for i in range(0, arrLen, 2): # Jump by 2 units
for j in range(0, arrLen-i-2, 2): # Jump by 2 units
if arr[j] > arr[j 2]: # Comparing alternative elements
temp = arr[j]
arr[j] = arr[j 2]
arr[j 2] = temp
return arr
arr = [10, 45, 0, -34, 5, -899, 4]
print(sortEvens(arr))
# OUTPUT : [0, 45, 4, -34, 5, -899, 10]
positions-> 0 1 2 3 4 5 6
uj5u.com熱心網友回復:
您可以使用相同下標的排序值分配一個跨度下標:
arr = [3, 9, 1, 44, 6]
arr[::2] = sorted(arr[::2]) # assign even items with their sorted values
print(arr) # [1, 9, 3, 44, 6]
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/398311.html
上一篇:將串列的元素映射為另一個字典的值
