希尔排序 -- 算法小结
2017-09-08 15:21
197 查看
对于一个int数组,请编写一个希尔排序算法,对数组元素排序。
给定一个int数组A及数组的大小n,请返回排序后的数组。保证元素小于等于2000。
测试样例:
[1,2,3,5,2,3],6
[1,2,2,3,3,5]
解题思路 : 依次缩小步长直至步长为1
给定一个int数组A及数组的大小n,请返回排序后的数组。保证元素小于等于2000。
测试样例:
[1,2,3,5,2,3],6
[1,2,2,3,3,5]
解题思路 : 依次缩小步长直至步长为1
import java.util.*; public class ShellSort { public int[] shellSort(int[] A, int n) { // write code here if(A==null||n<2) return A; int feet = n/2; int index = 0; while(feet>0){ for(int i=feet;i<n;i++){ index = i; while(index>=feet){ if(A[index]<A[index-feet]){ int tem = A[index]; A[index] = A[index-feet]; A[index-feet] = tem; index-=feet; }else{ break; } } } feet = feet/2; } return A; } }
相关文章推荐
- Java -- 算法小结之希尔排序
- 算法入门---java语言实现的希尔排序小结
- 第十六周项目(1):验证算法2——希尔排序
- Bagging与随机森林算法原理小结
- 算法分析学习小结1
- 各种基本算法实现小结(七)—— 常用算法
- 【算法-排序之四】希尔排序
- 第十六周项目1-验证算法(2)希尔排序
- 希尔排序_排序算法_算法
- 算法——希尔排序
- 第15周项目1 -3 验证算法之希尔排序
- 线性表11|单链表小结:腾讯面试题 - 数据结构和算法16
- 白话经典算法系列之三 希尔排序的实现
- 第十六周 项目1 验证算法 希尔排序 快速排序
- ACM -- 算法小结(六)逆波兰表达式
- 妙趣横生算法 6:希尔排序
- 采用回调函数的内部排序算法-插入排序,希尔排序,冒泡,快排,堆排,归并排,基数排序
- [图论]Floyd 算法小结
- 算法相关——Java排序算法之希尔排序(五)
- 算法导论 第2章 算法入门(直接插入排序、希尔排序、冒泡排序、合并排序)