我不能在数组旋转的末尾插入temp元素


def temprotate(arr, d, n):
temp = []
for i in range(d):
temp.append(arr[i])
# Function to shift arr by 2
for i in range(n - d):
arr[i] = arr[i + d]
# Function to reinsert temp elements
for i in range(d):
a = temp[i]
for i in range(1, d + 1):
arr.insert(arr[n - i], a)

def printarr(arr, size):
for i in range(size):
print(arr[i], end=' ')

arr = [1, 2, 3, 4, 5, 6, 7]
temprotate(arr, 2, 7)
printarr(arr, 7)

结果=3 2 4 5 6 7 6

我不知道插入代码部分出了什么问题!

插入函数似乎是在我希望它用临时中的其他元素替换列表中的元素时向列表中添加元素

不清楚您想做什么,但:

# Function to reinsert temp elements, AT THE END
for i in range(d):
a = temp[i]
arr[(n-d)+i] = a
# Function to reinsert temp elements,IN SAME PLACE
for i in range(d):
a = temp[i]
arr.insert(i, a)

最新更新