插入排序的原理是将未排序部分的元素逐个插入到已排序部分的合适位置,直到所有元素都被排序完成。虽然算法简单直观,但在大规模数据排序时效率较低。
#直接插入排序法
def insertsort1(nums):
#循环遍历列表 nums 中的元素,从第二个元素开始(索引为1);
for i in range(1,len(nums)):
#将当前元素 nums[i] 存储在变量 key 中,用于后续插入操作;
key = nums[i]
#通过变量 j 来记录当前位置,初始化为 i-1,即当前元素的前一个位置;
j = i-1
#在 while 循环中,不断将当前元素与已排序部分的元素进行比较,找到合适的位置插入;
while(j >= 0 and key < nums[j]):
nums[j + 1] = nums[j]
j -= 1
nums[j + 1] = key
return nums
#主菜单
if __name__ =='__main__':
A = [50,36,72,23]
print(insertsort1(A))