題目描述:
使用list放入listnode,然後依據插入排序進行,這個時間少,空間複雜度低
**:
/**
* definition for singly-linked list.
* public class listnode
* }*/class solution
// 鍊錶頭部
listnode pre = new listnode(-1);
listlistnode = new arraylist<>();
pre.next = head;
listnode.add(pre);
listnode.add(head);
listnode tem = head.next;
while (tem != null)
size --;
}listnode.add(size + 1,tem);
tem = getlistnode;
} for (int i = 0; i < listnode.size() - 1; i++)
listnode.get(listnode.size() - 1).next = null;
return listnode.get(0).next;}}
如果複雜度不允許那麼需要考慮的就是把前乙個節點得到,然後遍歷
**
/**
* definition for singly-linked list.
* public class listnode
* }*/class solution
listnode tem = pre;
while (tem.next.val < head.next.val)
listnode tempre = tem.next;
listnode temnext = head.next.next;
tem.next = head.next;
head.next.next = tempre;
head.next = temnext;
}
return pre.next;}}
對鍊錶進行插入排序
1.問題描述 對鍊錶進行插入排序。插入排序的動畫演示如上。從第乙個元素開始,該鍊錶可以被認為已經部分排序 用黑色表示 每次迭代時,從輸入資料中移除乙個元素 用紅色表示 並原地將其插入到已排好序的鍊錶中。插入排序演算法 插入排序是迭代的,每次只移動乙個元素,直到所有元素可以形成乙個有序的輸出列表。每次...
對鍊錶進行插入排序
對鍊錶進行插入排序。插入排序演算法 插入排序是迭代的,每次只移動乙個元素,直到所有元素可以形成乙個有序的輸出列表。每次迭代中,插入排序只從輸入資料中移除乙個待排序的元素,找到它在序列中適當的位置,並將其插入。重複直到所有輸入資料插入完為止。示例 1 輸入 4 2 1 3 輸出 1 2 3 4 示例 ...
對鍊錶進行插入排序
描述 對鍊錶進行插入排序。插入排序的動畫演示如上。從第乙個元素開始,該鍊錶可以被認為已經部分排序 用黑色表示 每次迭代時,從輸入資料中移除乙個元素 用紅色表示 並原地將其插入到已排好序的鍊錶中。插入排序演算法 插入排序是迭代的,每次只移動乙個元素,直到所有元素可以形成乙個有序的輸出列表。每次迭代中,...