这里的思想是采用的冒泡排序,先用while循环测出数组长度,再用双指针来循环冒泡排序,交换值
冒泡排序:先用第一个数和其他的数比较的到最小的或最大的放在第一位,然后循环此操作,直至结束

import java.util.*;

/*
 * public class ListNode {
 *   int val;
 *   ListNode next = null;
 * }
 */

public class Solution {
    /**
     * 
     * @param head ListNode类 the head node
     * @return ListNode类
     */
    public ListNode sortInList (ListNode head) {
        // write code here
        ListNode temp=head;
        int size=1;
        while (temp!=null){//测出链表长度,因为temp等于head,所以size初始值为1
            size++;
            temp=temp.next;
        }
        temp=head;
        for (int i = 1; i < size; i++) {
            ListNode temp1=temp.next;//第二个指针永远在第一个的后面
            for (int j = i + 1; j < size; j++) {//第一个与第二个比较,如果第一个大于第二个则交换值,然后与第三个比较,如此循环得到最小的,然后用第二个数同理比较得到第二小的,直至结束.
                int change;
                if (temp.val>temp1.val){
                    change=temp.val;
                    temp.val=temp1.val;
                    temp1.val=change;
                }
                temp1=temp1.next;
            }
            temp=temp.next;
        }
        return head;
    }
}