快排三种实现
来源:互联网 发布:装修报价软件 编辑:程序博客网 时间:2024/05/17 05:18
Partition 函数的三种实现方式:
/*此为算法分析与设计的版本*/int partition(int a[],int start,int end){//int r=rand1(start,end);//swap(a[start],a[r]);int i=start,j=end+1;int x=a[i];while(1){while(a[++i]<x&&i<end);while(a[--j]>x);if(i>=j)break;swap(a[i],a[j]);}a[start]=a[j];a[j]=x;return j;}
下面是算法导论上的版本
/*此为算法导论上的版本*/int partition2(int a[],int start,int end){int x=a[end];int i=start-1,j;for(j=start;j<end;j++){if(a[j]<=x){i++;swap(a[i],a[j]);}}swap(a[i+1],a[end]);return i+1;}
严蔚敏老师的数据结构(C语言版)上的实现:
/*此为数据结构上的版本*/int partition3(int a[],int start,int end){ int key = a[start];//key初始化为a的首元素 while(start<end){ while(start<end && a[end]>=key) end--;a[start] = a[end];while(start<end && a[start]<=key) start++;a[end]=a[start]; } a[start]=key; return start; }
0 0
- 快排三种实现
- 实现
- 实现
- 红黑树实现 实现代码
- java实现排列组合实现
- 实现Runnable 实现线程
- 实现ViewPager多种实现
- 双向LSTM实现实现
- 实现缓存 java实现
- 三子棋的实现的实现的实现
- 四则运算实现
- 继承实现
- 重载实现
- 实现缩略图
- split实现
- 实现缩略图
- wmi实现
- 实现缩略图
- Eclipse调试:改变颜色, 背景与字体大小 和xml字体调整
- 系统的制作和飞机大战的完善
- FlashDevelop在非默认浏览器中运行flash
- LINQPad
- avplayer 分析
- 快排三种实现
- wps文件批量转换到 microsoft office平台 软件
- 刚学循环写的代码,出生到现在是第几天?
- 如何使用NSOperationQueue
- Theano+GPU配置
- Android中Service(服务)详解
- bzoj1012 最大数maxnumber
- SVN处理解决并行开发的问题
- 五行代码 ----道不出的屌丝苦