加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

排序1亿个数据,尽可能快的快速排序?

(2012-04-11 21:22:22)
标签:

it

分类: 算法And设计模式
void qsort3(int l, int u)
{ int i, j;
int t;
int temp;
if (l >= u)
return;
t = x[l];
i = l;
j = u+1;
for (;;) {
do i++; while (i <= u && x[i] < t);
do j--; while (x[j] > t);
if (i > j)
break;
temp = x[i];
x[i] = x[j];
x[j] = temp;
}
swap(l, j);
qsort3(l, j-1);
qsort3(j+1, u);
}
小弟,用《编程珠玑》上的快排方法qsort3(如上面的算法)对一亿个数进行快速排序,时间大概是15秒,请问有什么优化方法!不胜感激

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有