单链表 快速排序
来源:互联网 发布:sql dateadd 编辑:程序博客网 时间:2024/06/05 03:02
如题: 一个比较简短的 单链表 快速排序算法
struct ListNode {int val;ListNode *next;ListNode(int x) : val(x), next(NULL) {}};void exch(int *a, int *b){int t = *a;*a = *b;*b = t;}void QuickSortList(ListNode *head, ListNode *last){if (head == NULL || head == last)return;ListNode *slow = head;ListNode *fast = head->next;while (fast != last) { //最后一个节点last不比较,或者为上一次的分割节点 或者为 NULLif (fast->val < head->val) {slow = slow->next;exch(&slow->val, &fast->val);}fast = fast->next;}exch(&head->val, &slow->val);QuickSortList(head, slow);QuickSortList(slow->next, last); //slow->next 至多和 last 相等, 不会到last之后}ListNode *sortList(ListNode *head) {QuickSortList(head, NULL);return head;}
0 0
- 单链表快速排序
- 单链表快速排序
- 单链表快速排序
- 单链表快速排序
- 单链表快速排序
- 单链表的快速排序
- 单链表 快速排序
- 单链表的快速排序
- 单链表的快速排序
- 单链表的快速排序
- 单链表快速排序
- 单链表快速排序
- 单链表的快速排序
- 单链表的快速排序
- 浅谈单链表快速排序
- 单链表的快速排序
- 单链表的快速排序
- 单链表快速排序
- 找不到共享库的错误
- android webview js交互, 响应webview中的图片点击事件
- 工作第三天日志
- TCP/IP 组播编程
- Python多线程学习<转>
- 单链表 快速排序
- 让griedview显示我想让它显示的
- 1. 进程的有哪几种状态,状态转换图,及导致转换的事件
- 将Eclipse项目自动部署到Tomcat的webapps目录下
- 访问控制权限
- Git收藏
- hdu 4919 Exclusive or
- 八大排序算法总结
- UVA 1500 - Alice and Bob(博弈)