下面是比较正式的代码,上面是我自己写的一个算法,但是为什么上面的不可以正常使用而下面的可以使用,希望各位佬们可以为我画一个流程图,并且说一下不可以使用的原因(图片的注释标反了)

下面是比较正式的代码,上面是我自己写的一个算法,但是为什么上面的不可以正常使用而下面的可以使用,希望各位佬们可以为我画一个流程图,并且说一下不可以使用的原因(图片的注释标反了)

下午好🌅🌅🌅
本答案参考ChatGPT-3.5
插入排序的基本思想是在未排序序列中找到适当的位置,将元素插入序列的正确位置。以下是插入排序的一种实现方式:
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i-1
# Move elements of arr[0..i-1], that are greater than key,
while j >=0 and key < arr[j] :
arr[j+1] = arr[j]
j -= 1
arr[j+1] = key
# Test the function
arr = [12, 11, 13, 5, 6]
insertion_sort(arr)
print ("Sorted array is ")
for i in range(len(arr)):
print ("%d" % arr[i])
从上文中的代码可以看出,插入排序的时间复杂度为O(n^2),因为需要遍历整个数组来查找合适的位置来插入元素。
至于为何上面的插入排序不能正常工作,可能有以下原因:
为了避免这些问题,我们可以选择更高效的排序算法,例如快速排序、归并排序等。也可以根据实际需求调整我们的数据存储方式。