单链表的快排
/* Author:cavehubiao Mail:cavehubiao@qq.com MyBlog:http//www.cnblogs.com/cavehubiao */ #include<iostream> #include<cstdio> #include<cmath> #include<string> #include<vector> #include<set> #include<map> #include<algorithm> #include<cstring> #include<queue> #include<ctime> using namespace std; struct st { st* next; int value; st(int va,st* p=NULL):value(va),next(p){ } }; void lqsort(st*left,st*right) { if(left!=right) { st* slow=left; st* fast=left->next; for(;fast!=right;fast=fast->next) { if(fast->value<=left->value) { slow=slow->next; swap(slow->value,fast->value); } } //slow=slow->next; swap(slow->value,left->value); lqsort(left,slow); lqsort(slow->next,right); } } int main() { srand((unsigned)time(NULL)); int len; cin>>len; st* List=NULL,*pre=NULL; for(int i=0;i<len;i++) { st* pnode=new st(rand()%1000); if(pre==NULL) { List=pnode; pre=pnode; } else { pre->next=pnode; pre=pnode; } } lqsort(List,NULL); for(int i=0;i<len;i++) { cout<<List->value<<' '; st* tmp=List; List=List->next; delete tmp; } return 0; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步