# 升序 definsert_sort(data): n = len(data) # 外循环,依次拿出第 i 个数 for i in range(1, n): cur_data = data[i] j=i-1 # 内循环, 在已排序的数据中,找出当前数应该放的位置 while j>=0and cur_data<data[j]: data[j+1]=data[j] # 将大的数依次往后挪一位,为当前数腾位置 j-=1 data[j+1]=cur_data return data
if __name__ == '__main__': data = [7, 8, 5, 2, 4, 6, 3] sorted_data = insert_sort(data.copy()) print("排序前:", data) print("排序后:", sorted_data)