数据结构排序算法插入排序Java实现

Posted 落地成霜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构排序算法插入排序Java实现相关的知识,希望对你有一定的参考价值。

public class InsertDemo {

public static void main(String args[]) {


int[] sort ={4,2,1,3,6,5,9,8,10,7} ;
System.out.println("haha"+sort[0]);
System.out.println("排序前:");

print(sort);
shellSort(sort);
System.out.println(" 排序后:");
print(sort);

}



//直接插入排序
public static void insertSort(int[] a) {

for(int i=1;i<a.length;i++) {

int temp=a[i];
int j;
for(j=i-1; j>=0; j--) {
if(a[j]>temp) {
a[j+1]=a[j];
}
else {
break;
}
}
a[j+1]=temp;


}

}

public static void shellSort(int[] arrays) {

//增量每次都/2
for (int step = arrays.length / 2; step > 0; step /= 2) {

//从增量那组开始进行插入排序,直至完毕
for (int i = step; i < arrays.length; i++) {

int j = i;
int temp = arrays[j];

// j - step 就是代表与它同组隔壁的元素
while (j - step >= 0 && arrays[j - step] > temp) {
arrays[j] = arrays[j - step];
j = j - step;
}
arrays[j] = temp;
}
}

}



//打印
public static void print(int[] a){
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
}

}

以上是关于数据结构排序算法插入排序Java实现的主要内容,如果未能解决你的问题,请参考以下文章

排序算法之冒泡选择插入排序(Java)

用 Java 实现一个插入排序算法

java实现二分插入排序

排序系列 之 折半插入排序算法 —— Java实现

数据结构排序算法插入排序Java实现

Java排序算法分析与实现:快排冒泡排序选择排序插入排序归并排序