直接插入排序
2015-08-21 17:08
225 查看
1,查找出L(i)在L[1...i-1]中的插入位置K2,将L[k...i-1]中的所有元素后移一个位置3,将L(i)复制到L(k)
[/code]时间复杂度O(n^2)稳定排序
来自为知笔记(Wiz)
void InsertSort(ElemType A[], int n)
{
int i, j;
for(i=2; i<=n; i++)//依次将A[2]~A 插入到前面已排序序列
{
if(A[i].key)<A[i-1].key)//如果A[i]的关键码小于其前驱,须将A[i]插入有序表
{
A[0]=A[i];//复制为哨兵,A[0]不存放元素
for(j=i-1; A[0].key<A[j].key; --j)//从后往前查找待插入位置
{
A[j+1]=A[j];//向后挪位
}
A[j+1]=A[0];//复制到插入位置
}
}
}
[/code]时间复杂度O(n^2)稳定排序
来自为知笔记(Wiz)
相关文章推荐
- AndroidManifest.xml
- tcpkill清除异常tcp连接
- Open vSwitch安装及配置
- keepalived+nginx反向代理访问后端web服务器
- C++的引用语法
- android TextView中文字通过SpannableString设置属性
- 关于对初学者ps合成工具使用的问答
- 有一个类为ClassA,有一个类为ClassB,在ClassB中有一个方法b,此方法抛出异常,在ClassA类中有一个方法a,请在这个方法中调用b,然后抛出异常。在客户端有一个类为TestC,有一个方
- iOS做透明引导页
- 最大似然估计学习总结
- JS 移动动画
- Android TextView 一些字体颜色、大小设置属性
- android 点击拨打电话发短信
- 实现带清除效果的EditText
- Ubuntu下FFmpeg-Android-master编译过程
- requirejs 同过hack改变文件映射
- 自定义字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,能够在读取的每行前面都加上有行号和冒号。
- 高效团队的基础:
- Android错误汇总集锦
- Android 5.0 如何修改指定sim卡拨号