希尔排序
来源:互联网 发布:证大财富淘宝贷容易吗 编辑:程序博客网 时间:2024/06/05 19:14
希尔排序是改良版的直接插入排序,他是先大体排序,最后归结为直接插入排序,是为了在进行直接插入排序之前,将需要较大幅度移动的元素先行移动,减少浪费
public void sort(int []datas)
{
int len=datas.length;
int temp;
//分组间隔不断缩小,最后变为1,就变成了直接插入排序
for(int i=len/2;i>0;i=i/2)
{
//每一个循环就是一组排序,最后
for(int j=0;j<len-i;j++)
{
//每个分组内按照直接插入进行排序
for(int k=j+i;k<len;k=k+i)
{
//负责将有序区大于待插入元素向后移动
for(int m=k;m>=i;m=m-i)
{
temp=datas[m];
//发现元素比带插入元素大,就把他往前移动
if(datas[m]<datas[m-i])
{
datas[m]=datas[m-i];
}else
{//当前元素比待插入元素小或者相等
datas[m]=temp;
break;
}
}
}
}
}
}
0 0
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- spring-"lookup-method"
- 两个页面之间传递参数
- Qualcomm Camera HAL 2.0
- 雷军主题演讲:未来10年是移动互联网的天下
- Osgi框架简介
- 希尔排序
- 在arcengine中实现图片预览
- java 字节流读取图片,字符流读取,二进制读取
- Python 一步一步学网络编程
- iOS: HTTPS 与自签名证书
- 嵌入式底层软件好书推荐
- 80后、90后应该这样管80后、90后应该这样管
- IOS 用UIWindow自定义AlertView(最基本代码)
- 和链表有关面试题