Итак, в вопросе говорится, что мы должны отсортировать массив, используя алгоритм сортировки вставками, и печатать полученный массив после каждой итерации с числами, разделенными пробелом.
Пожалуйста, помогите мне понять, в чем проблема. почему выдает ошибку?
input: 1 4 3 5 6 2
def insertionSort2(n, arr):
for i in range(1,n):
small=int(arr[i])
j=i-1
while j>=0 and int(arr[j])>small:
arr[j+1]=arr[j]
j-=1
arr[j+1]=small
print(' '.join(arr))
print('\r')
if __name__ == '__main__':
n = int(input())
arr = input().rstrip().split()
print(' '.join(arr))
insertionSort2(n, arr)
когда я печатал массив в основной функции, то вывод был: 1 4 3 5 6 2
но, когда я пытался напечатать массив в функции inserttionSort2
Произошла ошибка во время выполнения.
File "Solution.py", line 30, in <module>
insertionSort2(n, arr)
File "Solution.py", line 19, in insertionSort2
print(' '.join(arr))
TypeError: элемент последовательности 1: ожидаемый экземпляр str, int найдено