希尔排序实现
来源:互联网 发布:it认证培训机构 编辑:程序博客网 时间:2024/04/29 01:56
定义交换函数:
private static void swap(int[] arr, int i, int j) { if(i == j) return; arr[i] = arr[i] ^ arr[j]; arr[j] = arr[i] ^ arr[j]; arr[i] = arr[i] ^ arr[j];}
希尔排序:
插入排序变种。
不像插入排序,一个一个插,希尔排序有跳跃性。相隔一定增量插入排序,效率更高。
关键在于选定跳跃值,此处跳跃值选择原则是逐渐除2。
代码:
public void shellSort(int[] arr){ for(int h = arr.length/2; h >= 1; h/=2){ for(int i = h; i < arr.length; i++){ for(int j = i; j-h >= 0; j-=h){ if(arr[j-h] > arr[j]) swap(arr, j, j-h); else break; } } }}
0 0
- 希尔排序 实现
- 希尔排序[Java实现]
- 希尔排序的实现
- 希尔排序--Python实现
- 希尔排序C++实现
- 希尔排序的实现
- Java实现希尔排序
- 希尔排序实现
- 希尔排序的实现
- 希尔排序实现c++
- 希尔排序----java实现
- 希尔排序的实现
- 希尔排序的实现
- 希尔排序的实现
- 希尔排序简单实现
- 希尔排序的实现
- 希尔排序的实现
- 希尔排序实现
- [JS] new操作符
- ModelSim仿真步骤
- JQuery取得页面元素的坐标值
- 文件上传后缀名与文件类型对照表
- yum install libxml2.so.2 zlib 出错
- 希尔排序实现
- Intellij IDEA14 手动热部署
- ehcache memcache redis 三大缓存男高音
- 毕业一年了
- Git 的origin和master分析
- copy
- Android获取本地通话记录
- 多线程编程4 - GCD
- ClientProtocolException