节点信息
public class Node {
public int data;
public Node next;
@Override
public String toString() {
return "Node [data=" + data + ", next=" + next + "]";
}
}
插入排序算法
/**
* 插入排序 链表版
* @param arr
* @return
*/
public static Node sortarr3(int[] arr) {
Node link=new Node();
link.data=arr[0];
for(int i=1;i<arr.length;i++) {
Node flag=link;
int k=arr[i];
Node parent=flag;
boolean f=true;
for(int m=0;flag!=null;m++) {
if(k<flag.data) {
Node n=new Node();
n.data=k;
n.next=flag;
if(m==0) {
link=n;
}else {
parent.next=n;
}
f=false;
break;
}
parent=flag;
flag=flag.next;
}
if(f) {
flag=new Node();
flag.data=k;
parent.next=flag;
}
}
return link;
}
运行结果