单链表快排
来源:互联网 发布:unity3d playmaker 编辑:程序博客网 时间:2024/06/03 23:07
#include <iostream>#include <ctime>using namespace std;struct Node { int key; Node *next; Node(int nKey, Node *pNext) : key(nKey), next(pNext) { }};namespace kaze { Node *quick_sort(Node *pb, Node *pe) { int key = pb->key; Node *l = pb, *h = pb->next; while (h != pe) { if (h->key < key) { l = l->next; swap(l->key, h->key); } h = h->next; } swap(l->key, pb->key); return l; } void partition(Node *pb, Node *pe) { if (pb != pe) { Node *part = quick_sort(pb, pe); partition(pb, part); partition(part->next, pe); } }}int main() { int len = 10; srand((unsigned) time(NULL)); Node *head = new Node(0, NULL); Node *last = head; for (int i = 1; i < len; ++i) { Node *node = new Node(rand() % (len * 2), NULL); last->next = node; last = last->next; } last = head; for (int i = 0; i < len; ++i) { cout << last->key << ' '; last = last->next; } cout << endl; kaze::partition(head, NULL); last = head; for (int i = 0; i < len; ++i) { cout << last->key << ' '; last = last->next; } cout << endl; return 0;}
0 0
- 单链表快排
- 基于单链表快排的优化算法
- 快排,非递归;单链表快排;单链表归并
- 排序总结(源代码)(增加单链表快排)
- 常见的非线性回归模型
- Unity之AssetBundles
- bzoj1500
- 结合Linux的应用场景看MIPS32架构之内存管理
- md-checkbox
- 单链表快排
- 99乘法表问题与解决
- JavaScript substring() 方法
- 数据库-过程 PL/SQL 的运用
- SQL语句中between and 范围
- ActionScript 3.0 学习(十八) away3D学习3 away3d骨骼动画相关笔记
- 自定义控件、Fragment、Handler详解
- Java 并发工具包 java.util.concurrent 用户指南
- BGRABitmap图像操作6:线的两种连接方式