直接插入排序

来源:互联网 发布:python实现支付宝登录 编辑:程序博客网 时间:2024/06/01 17:46
template<typename T>void Sort(T arrayT[], int nCount){// 从第二个元素开始进行插入,插入到有序的序列中for (int iIndex = 1; iIndex < nCount; ++iIndex){T temp = arrayT[iIndex];// 插入到前面有序的序列中if (temp < arrayT[iIndex - 1)// 最好加一个判断{for (int jIndex = 0; jIndex < iIndex; ++jIndex){// 如果该元素小于前面的元素就找到了位置,进行互换if (temp < arrayT[jIndex]){memcpy(arrayT + jIndex + 1, arrayT + jIndex, (iIndex - jIndex) * sizeof(T));arrayT[jIndex] = temp;break;}}}}}


(1) 直接插入排序是稳定的

(2) 时间复杂度是O(n^2)

0 0
原创粉丝点击