基本排序之希尔排序
来源:互联网 发布:知乎精华推荐 编辑:程序博客网 时间:2024/04/29 06:29
关于希尔排序,这是一种不稳定,而且属于插入排序。为什么?
希尔排序=分成若干个组子序列,分别插入排序。
怎么分组?
有一个增量h,没增加h,则把它们放在一起。插入排序,直到h减少到1,此时正是简单插入排序。
看代码
#include<iostream>using namespace std;template <class T>void shel(T p[],int n){int k,j,i;T t;k=n/2;while(k>0){for(j=k;j<=n-1;j++){t=p[j];i=j-k;while((i>=0)&&(p[i]>t)){p[i+k]=p[i];i=i-k;}p[i+k]=t;}k=k/2;}return;}同样的当调用函数时,只需改为shel(p+10,40);即可。
这是两种非常常见的插入法的排序应用。
- 基本排序之希尔排序
- 基本算法之希尔排序
- 基本算法之希尔排序
- 基本排序系列之希尔排序
- java基本排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 排序之希尔排序
- 如何在弹出的窗口中引发父窗口的postback事件
- .net mvc3.0中带html标签的值显示在页面中不被转义的方法
- Html.RenderAction 引起的死循环问题解决方案
- 5509A hex文件生成命令
- [例子]Linux下shell批处理文件的几种方法
- 基本排序之希尔排序
- 假如我会飞300字作文915
- JAVA开源项目
- VC问与答
- JAVA 网络编程(包含案例)
- Java中使用OpenSSL生成的RSA公私钥进行数据加解密
- 用poi框架进行批量导入导出实例
- 警惕:从成都新南门去峨眉山的游客请注意921
- Count set bits in an integer