java 单链表快速排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 单链表快速排序相关的知识,希望对你有一定的参考价值。
public ListNode ListPartition(ListNode head,ListNode end){
if(head==end) return head;
ListNode p = head;
ListNode q = p.next;
int key = head.val;
while(q!=end){
if(q.val < key){
p = p.next;
swap(p,q);
}
q = q.next;
}
swap(p,head);
return q;
}
public void swap(ListNode p,ListNode q){
int temp = p.val;
p.val = q.val;
q.val = temp;
}
public void quickSortOfList(ListNode head,ListNode end){
if(head!=null){
ListNode t = ListPartition(head,end);
quickSortOfList(head,t);
quickSortOfList(t.next,end);
}
}
以上是关于java 单链表快速排序的主要内容,如果未能解决你的问题,请参考以下文章
写给自己看的单链表:快速排序
精益求精单链表归并排序与快速排序
单链表快速排序
单链表快速排序
单链表的快速排序(转)
单链表快速排序