快速排序
来源:互联网 发布:域名是否属于无形资产 编辑:程序博客网 时间:2024/06/03 19:39
http://www.tyut.edu.cn/kecheng1/site01/suanfayanshi/quick_sort.asp
第一次快速排序的具体做法是:设置变量i指向参加排序的记录序列中第一个位置0,变量j指向参加排序的记录序列中最后位置n-1。首先保存记录R0,使得R[0]为空出的位置(空位在前一区),这时,令j向前扫描,寻找小于R0的记录,假设找到的记录是R[ j ],将记录R[ j ]移到当前空位中;这时R[ j ]成为空位(空位在后一区),再令i自i+1起向后扫描,寻找大于R0排序码的记录,假设找到的记录是R[ i ],将记录R[ i ]移到当前空位中,空位又到了前一区,然后再令j自j-1起向前扫描。如此交替改变扫描方向,从两端向中间靠拢,直到i=j,这时i所指的位置为R0的最终位置
void quickSort(SortObject * p,int l,int r){
int i,j;
RecordNode temp;
if(l>=r)return;
i=l;j=r;temp=p->record[i];
while(i!=j)
{
while((p->record[j].key>=temp.key)&&(j>i))j--;
if(i<j)p->record[i++]=p->record[j];
while((p->record[i].key<=temp.key)&&(j>i))i++;
if(i<j)p->record[j--]=p->record[i];
}
p->record[i]=temp;
quickSort(p,l,i-1);
quickSort(p,i+1,r)
}
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- Android邮件发送详解
- 我写的五子棋游戏,大家来提提意见
- 简单算法 - 两个队列实现一个栈
- IDC:超过三分之一的开发者有兴趣开发WP和WIN8应用
- ‘.C’文件和‘.H’文件如何组织
- 快速排序
- twitter开放平台
- zoj 3165
- 生活的轨迹
- CSS BOX类型和display属性
- dotnetCHARTING v7.0去水印记录
- android 用LruCache读取大图片并缓存
- log4cplus使用帮助文档基础详解
- 用VC++制作QQ自动登陆软件