您的位置:首页 > 其它

排序算法之插入排序

2017-08-17 12:23 561 查看

1. 算法:

插入排序(insertion sort)是最简单的排序算法之一。插入排序由N-1趟排序组成,对于P=1到P=N-1趟,插入排序保证从位置0到位置P上的元素为已排序状态。

下图显示一个简单的数组([
34,8,64,51,32,21])在每一趟插入排序后的情况:


代码块:

template<typename T>
void insert_sort(vector<T>&a){
int p,x,j;
for(p=1; p<a.size(); p++){
x=a[p];
for(j=p; j>0; j--){
if(a[j-1]>x)
a[j]=a[j-1];
else
break;
}
a[j]=x;
}
}2.分析:
由于嵌套循环的每一次都花费N次迭代,因此插入排序为O(N^2)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: