您的位置:首页 > 其它

插入排序--直接插入排序

2011-08-06 16:21 218 查看
直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,它的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表。时间复杂度为O(n^2)理解:依次将每个待排序的记录插入到一个有序序列的合适位置。插入的位置是和有序序列的每一个元素进行比较,确定待插入位置。将移动待插入位置及后面的元素一次后移一个位置,最后将待插元素插入到插入位置。

template<typename T>
void insert_sort(vector<T>& array,const int length)
{
if (length < 2)
return ;
for(int j = 1;j < length;j++)
{
T key = array[j];
int i = j - 1;
while ((i >= 0) && (array[i] > key))
{
array[i + 1] = array[i];
i--;
}
array[i+1] = key;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  insert