免费注册 查看新帖 |

Chinaunix

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

【原创】超强版 Trim 横空出世! [复制链接]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
41 [报告]
发表于 2004-03-03 18:22 |只看该作者

【原创】超强版 Trim 横空出世!

原帖由 "guixin" 发表:
我觉得程序月简单越短越好,
重要的是维护成本低,可以很好的解决问题!

程序越短越容易理解吗?
不一定吧。

论坛徽章:
0
42 [报告]
发表于 2004-03-03 23:39 |只看该作者

【原创】超强版 Trim 横空出世!

工具函数效率越高越好,不需要为读者多考虑,因为会去读它的人都是有能力去读它的。
应用程序越简单越好,易读性越高越好。不需要考虑代码效率,因为CPU会越来越快。

论坛徽章:
0
43 [报告]
发表于 2004-03-04 11:04 |只看该作者

【原创】超强版 Trim 横空出世!

原帖由 "ii2004" 发表:
工具函数效率越高越好,不需要为读者多考虑,因为会去读它的人都是有能力去读它的。
应用程序越简单越好,易读性越高越好。不需要考虑代码效率,因为CPU会越来越快。


ii2004  与 ii2002 是什么关系啊?      

论坛徽章:
0
44 [报告]
发表于 2004-03-04 13:42 |只看该作者

【原创】超强版 Trim 横空出世!

听诸君几页话
胜读N本书

论坛徽章:
0
45 [报告]
发表于 2004-03-04 16:07 |只看该作者

【原创】超强版 Trim 横空出世!

长见识了!

论坛徽章:
0
46 [报告]
发表于 2004-03-04 17:18 |只看该作者

【原创】超强版 Trim 横空出世!

原帖由 "lenovo" 发表:

程序越短越容易理解吗?
不一定吧。


程序越短越容易理解吗?当然不是的

是又简单又短那,没什么其它的

论坛徽章:
0
47 [报告]
发表于 2004-03-05 13:51 |只看该作者

【原创】超强版 Trim 横空出世!

FH的代码:

  1. void trim( char *str )
  2. {
  3.         char *copied;
  4.         char *tail;
  5.         char c;

  6.         if ( str == NULL )
  7.                 return;

  8.         for ( copied = str, tail = NULL; ( c = *str ) != 0; str ++ )
  9.         {
  10.                 if ( c != ' ' && c != '\t' )
  11.                 {
  12.                         *copied ++ = c;
  13.                          tail = copied;
  14.                 }
  15.                 else
  16.                 {
  17.                          if ( tail != NULL )
  18.                                  *copied ++ = c;
  19.                 }
  20.         }

  21.         if ( tail != NULL )
  22.              *tail = 0;
  23.         else
  24.              *str = 0;
  25. }
复制代码

似乎没什么改变,反而多用了一个变量,还多了N次赋值,算法都是一样的.

论坛徽章:
0
48 [报告]
发表于 2004-03-05 15:44 |只看该作者

【原创】超强版 Trim 横空出世!

要说楼主的算法结为只需用*tail = 0;就行了,何必总写那么多。要是这种思路的话,算法无非就是一个指针记录结为。一个指针跟着str走,不可能有更大的提高了。

论坛徽章:
0
49 [报告]
发表于 2004-03-05 16:27 |只看该作者

【原创】超强版 Trim 横空出世!

[quote="noress"]似乎没什么改变,反而多用了一个变量,还多了N次赋值,算法都是一样的.[/quote]

loop一千万次你会看到差别的,前面有我的实测报告。
本身也不是我的代码,是我稍加修改的。

论坛徽章:
0
50 [报告]
发表于 2004-03-05 16:31 |只看该作者

【原创】超强版 Trim 横空出世!

[quote="w25"]要说楼主的算法结为只需用*tail = 0;就行了,何必总写那么多。要是这种思路的话,算法无非就是一个指针记录结为。一个指针跟着str走,不可能有更大的提高了。[/quote]

还有潜力的,不要一个字节一个字节地复制,记下首尾位置,用memcpy一次复制。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP