博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
链表的快速排序算法
阅读量:6206 次
发布时间:2019-06-21

本文共 1261 字,大约阅读时间需要 4 分钟。

#include
#include
using namespace std;//定义结构体typedef struct Node{ int val; Node* next;} Node;void swap(Node* a,Node* b){ int tmp = a->val; a->val = b->val; b->val = tmp;}//找到分割点Node* getSeparator(Node* pBegin,Node* pEnd){ Node* p = pBegin; Node* q = pBegin->next; int key = p->val; while(q!=pEnd){ if(q->val < key){ p = p->next; swap(p,q); } q = q->next; } swap(pBegin,p); return p;}//快速排序void fastSort(Node* pBegin,Node* pEnd){ if(pBegin != pEnd){ Node* separator = getSeparator(pBegin,pEnd); fastSort(pBegin,separator); fastSort(separator->next,pEnd); }}//创建链表Node* createNode(){ int in; Node* n; cin >> in; if(in == 1000){ n = NULL; }else{ n = new Node(); n->val = in; n->next = createNode(); } return n;}int main(){ Node* n1 = createNode(); cout << "++++++++++++++排序前+++++++++++++++++"<< endl; Node* cur = n1; while(cur!=NULL){ cout<
val<
next; } fastSort(n1,NULL); cout << "++++++++++++++排序后+++++++++++++++++"<< endl; cur = n1; while(cur!=NULL){ cout<
val<
next; } return 0;}

 

转载地址:http://vowja.baihongyu.com/

你可能感兴趣的文章
Ubuntu 无法mount解决办法
查看>>
CSS一些最佳实践
查看>>
详解 Discuz 的 PHP经典加密解密函数 authcode
查看>>
nginx 是如何处理访问请求的
查看>>
使用curl命令查看访问url的时间
查看>>
WinForm中跨线程操作控件
查看>>
下MFC中对象、句柄、ID之间的区别.
查看>>
如何构建Win32汇编的编程环境(ONEPROBLEM个人推荐)
查看>>
Flymeos插桩适配教程
查看>>
还在用PS磨皮去皱?看看如何用神经网络高度还原你的年轻容貌!
查看>>
大端模式与小端模式、网络字节顺序与主机字节顺序
查看>>
微信支付申请90%的商户都卡在这儿了,申请微信支付,商户功能设置详细说明...
查看>>
高仿Instagram 页面效果android特效
查看>>
我的友情链接
查看>>
如何查找JSP页面中的错误
查看>>
2016 年总结
查看>>
将String转化成Stream,将Stream转换成String
查看>>
java路径Java开发中获得非Web项目的当前项目路径
查看>>
Google API设计指南-资源名称
查看>>
最全React技术栈技术资料汇总(收藏)
查看>>