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

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

对于一个给定的数组,从中选择一个元素(叫作分区元素),并把其余元素划分成两个子集合--一个是由所有小于分区元素的元素组成的子集合,另一个是由所有大于等于分区元素的元素组成的子集合。对这样两个自己和递归应用同一过程。当某个子集合中的元素数小于两个时,这个子集合不需要再排序,故递归停止。

 

/*qsort: 以递增顺序对v[left],,,v[right]进行排序*/void qsort(int v[],int left,int right){             int i,last;             void swap(int v[],int i,int j);             if (left>=right)  /*若数组所包含的元素数少于两个,则什么也不做*/                 return;             swap(v, left ,(left+right)/2); /*吧分区元素移到v[0]*/             last=left;              for (i=left+1;i<=right;i++)  /*分区*/                  if (v[i]

 

转载于:https://www.cnblogs.com/ligongye/archive/2013/06/14/3135187.html

你可能感兴趣的文章
【坑】记录一个docker 1.13.1 build 07f3374 版本的坑
查看>>
NOIP 2015[D2 T1] 跳石头
查看>>
浮点数内存如何存储的
查看>>
贪吃蛇
查看>>
EventSystem
查看>>
chrome不支持字体12px
查看>>
用WINSOCK API实现同步非阻塞方式的网络通讯
查看>>
vue
查看>>
玩一玩博客,嘿嘿
查看>>
P1352 没有上司的舞会
查看>>
img.onload与script.onload实现的不同写法
查看>>
ios11文件夹
查看>>
【HLOJ 559】好朋友的题
查看>>
DataSet用法3操作数据
查看>>
Electric Fence(皮克定理)
查看>>
【状压DP】【UVA11825】 Hackers' Crackdown
查看>>
nvl 在mysql中如何处理
查看>>
MyEclipse 快捷键
查看>>
快速傅里叶变换FFT
查看>>
大数据常用基本算法
查看>>