插入排序动态逻辑图
插入排序代码
template <typename T>
void InsertSort(T array[],int length) {
if (array == nullptr || length < 0)
return;
for(auto i = 1; i < length; i++) {
auto preIndex = i - 1;
if (array[i] < array[preIndex]) {
auto tmp = array[i];
for(; tmp < array[preIndex]; preIndex--) {
//元素后移
array[preIndex + 1] = array[preIndex];
}
array[preIndex+1] = temp;
}
}
}
返回排序算法分析总结