您的位置:首页 > 其它

两种插入排序的方法

2015-08-11 00:00 204 查看
摘要: 对原有的一个插入排序进行了一下优化

对现在使用的插入排序进行了一些调整,优化了一下速度。其实最好的优化就是生成处理的数据的时候尽量保持有序,排序主要是从小到大的排列。

优化前的主逻辑

arr = [2,4,6,7,9,5,8,3,1];
arr_len = len(arr);
i = 1;
while i < arr_len:
j = i;
while j > 0 and arr[j-1] > arr[j]:
# 在循环体中进行交换
tmp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = tmp;
j -= 1;
i += 1;
print(arr);

优化的思路集中在两点,1是tmp的初始化的时候,2是元素交换位置的时候

arr = [2,4,6,7,9,5,8,3,1];
arr_len = len(arr);
i = 1;
while i < arr_len:
j = i;
tmp = arr[j];
while j > 0 and arr[j-1] > tmp:
arr[j] = arr[j-1];
j -= 1;
arr[j] = tmp;
i += 1;
print(arr);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: