java 写一个方法给链表排序 不使用自带的方法
时间: 2023-06-19 19:07:39 浏览: 89
链表用java实现,弥补java的无指针的缺点
可以采用冒泡排序的方式给链表排序,具体实现如下:
```java
public static void sortList(Node head) {
if (head == null || head.next == null) {
return;
}
Node cur = head;
int len = 0;
while (cur != null) {
len++;
cur = cur.next;
}
for (int i = 0; i < len - 1; i++) {
cur = head;
for (int j = 0; j < len - i - 1; j++) {
if (cur.val > cur.next.val) {
int temp = cur.val;
cur.val = cur.next.val;
cur.next.val = temp;
}
cur = cur.next;
}
}
}
```
其中,链表节点的定义如下:
```java
class Node {
int val;
Node next;
public Node(int val) {
this.val = val;
}
}
```
该方法的时间复杂度为 $O(n^2)$,不过可以考虑使用更高效的排序算法来优化。
阅读全文