版本1:整型数组版本
[java]
/*
* 渐增型算法_插入排序
* 版本1:整型数组版本
*/
import java.util.Arrays;
public class T01_渐增型算法_插入排序01 {
public static void insertSort(int[] n){
int temp,j;
for(int i=1;i
temp = n[i];
while(j>=0&&temp
j--;
}
n[j+1] = temp;
}
}
public static void main(String[] args){
int[] n = {5,1,9,4,6,2,0,3,8,7};
insertSort(n);
System.out.println(Arrays.toString(n));
}
}
/*
* 渐增型算法_插入排序
* 版本1:整型数组版本
*/
import java.util.Arrays;
public class T01_渐增型算法_插入排序01 {
public static void insertSort(int[] n){
int temp,j;
for(int i=1;i
temp = n[i];
while(j>=0&&temp
j--;
}
n[j+1] = temp;
}
}
public static void main(String[] args){
int[] n = {5,1,9,4,6,2,0,3,8,7};
insertSort(n);
System.out.println(Arrays.toString(n));
}
}
运行结果:[plain] view plaincopyprint [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
版本2:可比较类型数组版本
[java]
/*
* 渐增型算法_插入排序
* 版本2:可比较类型数组版本
*/
import java.util.Arrays;
public class T01_渐增型算法_插入排序02 {
public static void insertSort(Comparable[] c){
int j;
Comparable key;
for(int i=0;i
j = i-1;
while(j>=0&&(c[j].compareTo(key)>0)){
c[j+1] = c[j];
j--;
}
c[j+1] = key;
}
}
public static void main(String[] args){
Integer[] n = {5,1,9,4,6,2,0,3,8,7};
String[] s = {"ShangHai","HeNan","BeiJing",
"AnYang","XinXiang","ChongQing"};
Double[] d = {3.6, 5.3, 2.6, 8.8, 1.5, 9.4};
insertSort(n);
insertSort(s);
insertSort(d);
System.out.println(Arrays.toString(n));
System.out.println(Arrays.toString(s));
System.out.println(Arrays.toString(d));
}
}
/*
* 渐增型算法_插入排序
* 版本2:可比较类型数组版本
*/
import java.util.Arrays;
public class T01_渐增型算法_插入排序02 {
public static void insertSort(Comparable[] c){
int j;
Comparable key;
for(int i=0;i
j = i-1;
while(j>=0&&(c[j].compareTo(key)>0)){
c[j+1] = c[j];
j--;
}
c[j+1] = key;
}
}
public static void main(String[] args){
Integer[] n = {5,1,9,4,6,2,0,3,8,7};
String[] s = {"ShangHai","HeNan","BeiJing",
"AnYang","XinXiang","ChongQing"};
Double[] d = {3.6, 5.3, 2.6, 8.8, 1.5, 9.4};
insertSort(n);
insertSort(s);
insertSort(d);
System.out.println(Arrays.toString(n));
System.out.println(Arrays.toString(s));
System.out.println(Arrays.toString(d));
}
}运行结果:[plain]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[AnYang, BeiJing, ChongQing, HeNan, ShangHai, XinXiang]
[1.5, 2.6, 3.6, 5.3, 8.8, 9.4]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[AnYang, BeiJing, ChongQing, HeNan, ShangHai, XinXiang]
[1.5, 2.6, 3.6, 5.3, 8.8, 9.4]
版本3:任意可比较类型线性表容器版本
[java]
/*
* 渐增型算法_插入排序
* 版本3:任意可比较类型线性表容器版本
*/
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.LinkedList;
import java.util.Vector;
public class T01_渐增型算法_插入排序03 {
public static void insertSort(List
Comparable c;
int j = 0;
List
for(int i=1;i
j = i-1;
while(j>=0&&li