java实现希尔排序

希尔排序是插入排序的升级版,主要是减少插入排序的数组搬移次数,代码如下:package com.xiaoteng; import java.util.Arrays; public class ShellSort { public int[] sort(int[] a) { int size = a.length / 2; while (size !=

- 阅读全文 -

java实现插入排序

package com.xiaoteng; import java.util.Arrays; public class InsertSort { public int[] sort(int[] a) { int[] b = new int[a.length]; for (int i = 0; i < a.length; i++) {

- 阅读全文 -

java实现选择排序

选择排序主要步骤:第一步,找出1-n个数中的最小(大)值与第一个元素交换第二步,找出2-n中的最小(打)值与第二个元素交换以此类推具体代码:package com.xiaoteng; import java.util.Arrays; public class SelectSort { public int[] sort(int[] a) { for (int i =

- 阅读全文 -

java实现冒泡排序

package com.xiaoteng; import java.util.Arrays; public class PopSort { // 冒泡排序 // 核心:依次的对待排序的序列做前后大小比较,如果前面的大于后面的,就更换两个值,继续比较 // 每次一冒泡都会将最大值冒到最右端,所以,循环的次数为n,n-1,n-2....1 public int[

- 阅读全文 -

java实现基数排序

基数排序与另外七种排序不一样,它是基于分配模式的排序,它有两种模式,第一种MSD最高位优先,LSD最低位优先,这里以最低位优先举例:第一步,取待排序的序列中的数的个位数,将它们一次放在一个二维数组中,第一维是0-910个数字,第二维是个位数为第一维数的值第二步,取百位数字,然后在放到二位数组中,依次这样执行具体代码:package com.xiaoteng; import java.util.A

- 阅读全文 -

java实现堆积排序之最小堆积树

首先,了解下堆积排序的概念:第一步,将待排序序列转换为堆积树,如果是从小到大排序,那么转换为最小堆积树,如果是从大到小排序,那么就是最大堆积树第二步,取出该堆积树的树根,然后对剩余的数重新组成堆积树,重复第一步最小堆积树特点:整个序列中,树根是最小的数。最大堆积树特点:整个序列中,树根是最大的数。最小堆积树实现的堆积排序如下:package com.xiaoteng; import java.u

- 阅读全文 -

java实现的快速排序算法

快速排序步骤:第一步:选择待排序的第一个值作为k,然后从左往右找到大于k值得k(i)第二步:从右往左找到小于k值得k(j)第三步,如果i < j,那么更换k(i)与k(j)的值,然后重复到第一步第四步:如果i >= j,那么更换k与k(j)的值,然后以j为切点,将数据切为两半,分别对它们进行上面的排序。代码:package com.xiaoteng; import java.util

- 阅读全文 -