用了整整两天时间来琢磨插入排序与链表,终于琢磨出来了,在此把代码记录下来。插入排序其实就是一手扑克牌,左边的纸是排序好的,右边的纸是没有排序好的。
import java.util.ArrayList;
import java.util.Scanner;
public class InsertionSort {
public void insertSort(ArrayList<Integer> a) {
for(int i=1;i<a.size();i++) {
int key=a.get(i);
int j=i-1;
while(j>=0&&key<a.get(j)) {
a.set(j+1, a.get(j));
j--;
}
a.set(j+1, key);
}
}
public void print(ArrayList<Integer> a) {
for(int i=0;i<a.size();i++) {
System.out.println(a.get(i)+" ");
}
}
public static void main(String args[]) {
ArrayList<Integer> a=new ArrayList<Integer>();
Scanner sc=new Scanner(System.in);
String tempstr=sc.nextLine();
String[] str=tempstr.split(" ");
for(int i=0;i<str.length;i++) {
a.add(Integer.valueOf(str[i]));
}
InsertionSort insert=new InsertionSort();