免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: duanjigang
打印 上一主题 下一主题

源码阅读第一期:axel和wget [复制链接]

论坛徽章:
0
31 [报告]
发表于 2011-09-28 08:09 |只看该作者
。。。不知道先和0比较有啥子意义没?
ps:这个不是快排函数,只是给上面那个qsort用来比较而已。快排是qso ...
c04n05 发表于 2011-09-27 14:56



    做了个测试,大致上明白了。
axel中的speed其实是访问的时间,时间越大,访问速度越慢,因此,排序的时候,如果时间不为负值(speed > 0)(负值表示获取速度失败)的话,排序结果应该是speed小的在前面,speed大的
在后面.

获取速度失败的连接,从理论上来说应该排在最后面,在axel中,作者对于获取速度失败的连接是这样排序的。

  1. SPEED_DONE < SPEED_ERROR < SPEED_ACTIVE
复制代码
我想,对于获取速度失败的连接来说,他们之间的排序关系已经不重要了,重要的是有速度的连接按照从小到大的顺序排在他们前面就行。呵呵。

下面是我按照作者的排序方式写的一个测试,正好阐述了上面的所有意思.

  1. int search_sortlist_qsort( const void *a, const void *b )
  2. {
  3.         if( (*(int *)a)< 0 && (*(int *)b) > 0 )
  4.                 return( 1 );
  5.         if( (*(int *)a) > 0 && (*(int *)b) < 0 )
  6.                 return( -1 );
  7.         if( (
  8.                 *(int *)a) < *((int *)b) )
  9.                 return( -1 );
  10.         else
  11.                 return( *((int *)a) > (*(int *)b) );
  12. }
  13. int main(int argc, char* argv[])
  14. {
  15.         int a[] = {-3,4,6,-1,-2,9,10,20};
  16.         qsort( a, 8, sizeof( int ), search_sortlist_qsort );
  17.         for (int i = 0; i < 8; i++)
  18.                 cout << a[i] << " ";
  19.         return 0;
  20. }
复制代码
运行结果是:

  1. 4 6 9 10 20 -3 -2 -1
复制代码

论坛徽章:
0
32 [报告]
发表于 2011-09-28 09:09 |只看该作者
支持活动中

论坛徽章:
0
33 [报告]
发表于 2011-09-28 10:04 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
34 [报告]
发表于 2011-09-28 10:47 |只看该作者
好好学习

论坛徽章:
0
35 [报告]
发表于 2011-09-28 11:00 |只看该作者
我已经有看了,就不写了吧。。
hiwoody 发表于 2011-09-28 10:04



    呵呵,多分享嘛:wink:

论坛徽章:
0
36 [报告]
发表于 2011-09-28 12:22 |只看该作者
吃饭归来,继续阅读

论坛徽章:
0
37 [报告]
发表于 2011-09-28 13:06 |只看该作者
浏览完毕。午睡。挺不错的。赞一个。

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
38 [报告]
发表于 2011-09-28 15:58 |只看该作者
浏览完毕。午睡。挺不错的。赞一个。
janock 发表于 2011-09-28 13:06



    也欢迎来分享啊,或者有啥建议也提出来啊,呵呵

论坛徽章:
0
39 [报告]
发表于 2011-09-28 16:48 |只看该作者
版主大哥,你把最小的一个给分析了,剩下两个都2M多啊,分析起来够吃力呢。。

一会下载下来,先编译下试试

论坛徽章:
1
双子座
日期:2013-11-06 17:18:01
40 [报告]
发表于 2011-09-28 17:40 |只看该作者
马克一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP