排序算法---希尔排序
来源:互联网 发布:mysql联表删除 编辑:程序博客网 时间:2024/05/20 06:08
希尔排序的基本思想(划分):把待排序的数列按照一定的增量分割成多个子数列,这些子数列不是连续的,然后对每个子数列进行插入排序。接着增量逐渐减小,在减小到1后直接使用插入排序处理数列。
希尔排序的具体例子如下(每次n/2缩小规模):
希尔排序的实现代码如下:
package com.threeTop.www;/*** * 希尔排序的实现 * @author wjgs * */public class ShellSort {private int[]array;//构造函数进行初始化public ShellSort(int []array){this.array=array;}/*** * 希尔排序,每次以n/2减少规模 */ public void sort() { int temp; for(int k=array.length/2;k>0;k/=2) { for(int i=k;i<array.length;i++) { for(int j=i;j>=k;j-=k)//内部控制元素的交换 { if(array[j-k]>array[j]) { temp=array[j-k]; array[j-k]=array[j]; array[j]=temp; } } } } }//打印输出public void print(){for(int i=0;i<array.length;i++){System.out.print(array[i]+" ");}}public static void main(String[] args) {// TODO Auto-generated method stubint []array={5,9,1,9,5,3,7,6,1,10,4};ShellSort shellsort=new ShellSort(array);shellsort.sort();shellsort.print();}}
0 0
- 排序算法--希尔排序
- 排序算法-希尔排序
- 排序算法--希尔排序
- 排序算法--希尔排序
- 排序算法---希尔排序
- 排序算法---希尔排序
- 排序算法--希尔排序
- 排序算法--希尔排序
- 排序算法:希尔排序
- 排序算法:希尔排序
- 【排序算法】希尔排序
- 排序算法---希尔排序
- 排序算法:希尔排序
- 排序算法-希尔排序
- 排序算法---希尔排序
- 排序算法-- 希尔排序
- 排序算法-希尔排序
- 排序算法:希尔排序
- 编码转换过滤器
- OPencl学习笔记
- 数组运算的学习
- Android requires compiler compliance level 5.0 or 6.0. Found '1.4' instead
- Hibernate三种数据操作方式HQL-Criteria-Sql
- 排序算法---希尔排序
- Nginx反向代理,建立Google镜像
- 在网页中利用javascript实现动态时间的设计
- 【AtCoder Grand 013E】Placing Squares 题解
- Linux关机命令:halt shutdown reboot init
- 向死而生
- CSU 1870 Legendary
- bzoj 1001
- 机器学习(周志华)_第五章神经网络