| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4056 人关注过本帖
标题:VFP编程技巧擂台赛[一]
只看楼主 加入收藏
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
回复 29楼 sdta
版主该发表一下建议了

个性太多,无法显示
2012-09-26 11:44
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

个性太多,无法显示
2012-09-26 11:58
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
以上图测,在开头加了如下代码
For i = 1 To 5
    Cstr = Cstr + Cstr
Next

即将原始字符串长度增加到原来的32 倍

个性太多,无法显示
2012-09-26 12:00
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
由于 唐长老 的代码的缘故
实际结果仍与原始结果相同

即处理原始字符串一次使用的时间

个性太多,无法显示
2012-09-26 12:03
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用taohua300在2012-9-26 12:03:12的发言:

由于 唐长老 的代码的缘故
实际结果仍与原始结果相同

即处理原始字符串一次使用的时间

你是说俺的程序 用时最少吗?

梅尚程荀
马谭杨奚







                                                       
2012-09-26 12:06
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
不得不说
分割字符串之后再处理效率要高的多
不过由于标识符不太清晰,一开始思考的时候要费点劲

遍历字符串对长度较短的字符串比较适用
字符串越长,与第三种方法的差距越大,差距呈几何级增长

而在处理原始字符串的时候,3种方法没有任何差距

个性太多,无法显示
2012-09-26 12:07
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用taohua300在2012-9-26 12:07:59的发言:

不得不说
分割字符串之后再处理效率要高的多
不过由于标识符不太清晰,一开始思考的时候要费点劲

遍历字符串对长度较短的字符串比较适用
字符串越长,与第三种方法的差距越大,差距呈几何级增长

而在处理原始字符串的时候,3种方法没有任何差距

你用的什么截图 还能带锯齿边框。。。

梅尚程荀
马谭杨奚







                                                       
2012-09-26 12:18
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
程序代码:
T1=SECONDS()
CLEAR
cstr=" how often[]多久一次 exercise['eks2saiz]v.&n.锻炼;运动 skateboard[]v.踩滑板;参加滑板运动 hardly['ha:dli]adv. 几乎不;几乎没有 ever['ev2]adv. 曾;曾经 shop[60p]v.购物 once[w3ns]adv. 一次"
CREATE CURSOR taba (单词 C(20),音标 C(20),汉意 C(30))
NSTR=LENC(CSTR)
LOCAL AA(3),A1
STORE [] TO AA,A1
FOR I=1 TO NSTR
    A1=A1+SUBSTRC(CSTR,I,1)
    IF (LEN(LEFTC(RIGHTC(A1,2),1))=2 AND EMPTY(RIGHTC(RIGHTC(A1,2),1))) OR I=NSTR
       A1=ALLTRIM(A1)
       AA(1)=SUBSTR(A1,1,AT("[",A1)-1)
       AA(3)=RIGHTC(A1,LEN(A1)-LENC(A1))
       AA(2)=SUBSTR(A1,AT("[",A1),LEN(A1)-LEN(AA(1))-LEN(AA(3)))
       INSERT INTO TABA FROM ARRAY AA
       A1=[]
    ENDIF
ENDFOR
MESSAGEBOX([查询时间:]+TRANSFORM((SECONDS()-T1)*1000)+[毫秒])
BROWSE

坚守VFP最后的阵地
2012-09-26 12:33
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
cstr=" how often[]多久一 exercise['eks2saiz]v.&n.锻炼;运 skateboard[]v.踩滑板;参加滑板运 hardly['ha:dli]adv. 几乎不;几乎没 ever['ev2]adv. 曾;曾 shop[60p]v.购 once[w3ns]adv. 一次"
就这个字符串而言,还是有规律可循的,只是有的朋友没认真仔细看。
我是按这个规律分割字符串写代码的[前面有朋友已注明规律了]。每个红字后都有一个空格(最后一个字[]除外)。
判断条件过多,也影响速度。

[ 本帖最后由 sdta 于 2012-9-26 13:00 编辑 ]

坚守VFP最后的阵地
2012-09-26 12:37
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:0 
回复 35楼 有容就大
你处理一倍字符串长度当然比别人处理32倍字符串长度快

比你大徒弟的筋斗云都快

个性太多,无法显示
2012-09-26 12:59
快速回复:VFP编程技巧擂台赛[一]
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037673 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved