开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2491|回复: 4
收起左侧

[易语言纯源码] 10W 三位数文本 去重复0.8秒思路大体实现不过文本长度再长些还是慢!

[复制链接]
结帖率:97% (31/32)
发表于 2018-8-22 13:49:22 | 显示全部楼层 |阅读模式   福建省福州市
分享源码
界面截图: -
是否带模块: -
备注说明: -
本帖最后由 cf2006a 于 2018-8-22 13:58 编辑

易节点 文本长度3 位 以上直接可以放弃了 ,10W左右就跑不动了!

这个思路是我自己想出来的 并写了出来,现在分享给大家!!这里代码只做学习交流用,有bug什么不在考虑范围类!!

大家要是有什么更好的方法可以一起分享出来一起交流学习,当然模块,支持库!什么的就不要来凑热闹了!!!!!!!!!


为了大家方便学习我大多数都不用附件直接代码形式给大家~ 这里寻找文本汇编 代码建议大家找下 反汇编 那个会比我这个快!



  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
a文本型 
g文本型100000
t整数型 
i整数型 
字符长度整数型 
补位文本型 
补位地址整数型 
找到位置整数型 
写入位置整数型 
快文结果文本型 
结果文本型 
计次循环首 (100000, i)
g [i]到文本 (取随机数 (1, 1000))
计次循环尾 ()
调试输出 (“开始”)
t = 取启动时间 ()
结果 = _数组叠加_超速版 (g, )
调试输出 (取启动时间 () - t)
调试输出 (结果)
子程序名返回值类型公开备 注
_数组叠加_超速版文本型 比快速文本快一倍左右吧
参数名类 型参考可空数组备 注
数组文本文本型
过滤重复逻辑型真为过滤掉重复的文本
变量名类 型静态数组备 注
i整数型 
返回文本文本型 
写入位置整数型 
总长度整数型 
数据地址整数型 
补位文本文本型 
补位地址整数型 
总长度 = 取数组成员数 (数组文本) × 8
补位文本 = “               ”
补位地址 = 取变量数据地址 (补位文本)
返回文本 = 取空白文本 (总长度)
数据地址 = 取变量数据地址 (返回文本)
如果 (过滤重复)
计次循环首 (取数组成员数 (数组文本), i)  ' 这里自己用哈希表判断是否重复了,个人推荐"E2EE支持库"里的"存取键值表",这里为了大家都能运行,直接使用节点
_补文本后位_ASM (数组文本 [i], “ ”, 8, 补位地址)
如果真 (_寻找文本_自编_ASM (返回文本, 补位文本, 0) = 0)
_文本叠加_参数版_ASM (数组文本 [i], 数据地址, 写入位置)
写入位置 = 写入位置 + 8

计次循环尾 ()
写到内存 ({ 0 }, 数据地址 + 写入位置, 1)  ' 写入文本终止符
计次循环首 (取数组成员数 (数组文本), i)  ' 不过滤重复的
_补文本后位_ASM (数组文本 [i], “ ”, 8, 补位地址)
_文本叠加_参数版_ASM (补位文本, 数据地址, 写入位置)
写入位置 = 写入位置 + 8
计次循环尾 ()
返回 (返回文本)
子程序名返回值类型公开备 注
_文本叠加_参数版_ASM 纯汇编算法编写作者*F06a 单字节用空白填充
参数名类 型参考可空数组备 注
要写的文本文本型
缓冲文本整数型注意叠加后文本长度
写入位置整数型
置入代码 ({ 139, 125, 8, 139, 69, 12, 139, 77, 16, 139, 63, 138, 31, 128, 251, 0, 116, 7, 136, 28, 8, 71, 65, 235, 242, 201, 194, 12, 0 })
子程序名返回值类型公开备 注
_补文本后位_ASM 汇编_补文本位 (源文本, 补符, 10, 取指针_文本 (返回文本))
参数名类 型参考可空数组备 注
源文本文本型
补符文本型如:“0”
补位总长度整数型
缓冲区针整数型补文本返针~~
置入代码 ({ 139, 125, 8, 139, 63, 139, 117, 20, 49, 192, 138, 28, 7, 128, 251, 0, 116, 6, 136, 28, 6, 64, 226, 242, 139, 125, 12, 139, 63, 138, 31, 139, 77, 16, 57, 193, 118, 8, 41, 193, 136, 28, 6, 64, 226, 250, 179, 0, 136, 28, 6, 201, 194, 16, 0 })


i支持库列表   支持库注释   
spec特殊功能支持库


以下调试结果

* 858.000000
* “42      468     335     501     170     725     479     359     963     465     706     146     282     828     962     492     996     943     437     392     605     903     154     293     383     422     717     719     896     448     727     772     539     870     913     668     300     36      895     704     812     323     334     674     665     142     712     254     869     548     645     663     758     38      860     724     742     530     779     317     191     843     289     107     41      265     649     447     806     891     730     371     351     7       102     394     549     630     624     85      955     757     841     967     377     932     309     945     440     627     324     538     119     83      930     542     834     116     640     659     705     931     978     307     387     22      746     925     73      271     830     778     574     98      513     987     291     162     637     356     768     656     575     32      53      151     942     431     108     192     8       338     458     288     754     384     946     910     210     759     222     589     423     947     507     31      414     169     901     592     763     411     360     625     484     596     603     292     837     375     21      597     349     200     669     485     735     54      1000    419     939     789     128     729     894     808     311     618     814     515     310     617     936     452     601     250     520     557     799     304     225     9       845     610     990     703     196     486     94      344     524     588     315     504     449     201     459     619     581     797     590     10      158     473     623     39      180     658     959     816     889     157     512     203     635     273     56      329     647     363     887     876     434     143     417     882     999     652     700     558     477     893     390     76      713     511     4       862     689     402     790     256     424     3       586     183     286     89      427     833     933     155     722     190     977     330     369     693     426     556     435     550     442     61      140     280     997     688     438     867     950     194     298     287     106     489     283     456     115     702     672     787     264     314     186     809     322     559     983     482     145     197     223     130     536     451     174     467     45      660     25      650     187     475     23      19      788     906     626     478     415     825     875     373     160     71      488     519     178     774     764     193     986     103     481     214     628     803     100     528     544     24      973     62      182     433     506     594     726     493     65      188     361     975     171     236     761     897     551     141     695     696     20      126     577     303     372     679     852     120     153     801     88      927     11      316     228     44      165     110     883     87      566     578     929     521     124     738     262     526     261     117     327     12      412     791     189     941     714     579     366     59      358     325     109     114     888     802     851     461     429     994     385     406     541     112     836     357     824     217     527     272     362     113     718     697     230     560     297     856     585     655     370     533     964     608     912     636     68      849     676     224     755     176     460     826     871     935     206     784     399     638     535     177     301     642     463     612     878     425     753     444     819     611     18      832     686     91      498     991     354     741     259     336     760     606     776     609     998     562     241     175     602     78      216     684     993     393     671     28      499     971     848     664     707     364     172     490     543     620     914     233     751     976     540     99      248     972     865     546     547     770     263     290     866     246     509     319     133     571     902     104     970     16      29      348     944     410     464     50      682     343     147     691     844     621     749     537     227     854     924     258     767     956     26      2       497     516     965     949     607     430     405     813     376     37      737     815     995     257     653     937     839     483     132     231     842     651     453     234     455     149     125     318     81      859     51      156     904     677     644     654     675     221     403     879     260     782     505     699     723     462     235     960     494     270     938     701     118     331     40      213     86      711     775     381     952     680     111     899     74      957     690     185     72      886     868     296     599     694     687     529     827     817     517     667     341     416     874     532     807     269     908     308     13      137     631     810     294     55      346     709     249     480     239     919     487     634     159     926     648     831     279     800     353     576     568     337     398     898     829     450     561     148     163     793     715     570     639     522     476     616     525     470     911     136     5       569     374     195     877     397     573     641     820     420     167     75      510     173     969     780     553     496     765     365     822     123     595     951     673     968     409     909     205     320     368     284     332     584     777     857     491     678     69      992     728     872     698     613     238     502     129     150     466     268     794     443     771     382     591     328     43      861     743     615     662     64      436     587     49      736     811     600     838     245     795     253     209     244     101     892     855     920     781     545     900     835     786     792     211     980     278     277     583     762     57      164     863     905     681     199     33      388     518     242     622     96      917     179     580     82      785     974     923     92      858     237     552     184     395     181     66      514     79      948     446     215     523     232     352     432     198     748     474     275     982     321     166     207     985     979     685     907     391     421     445     508     312     407     769     1       389     988     218     666     105     873     657     252     80      934     721     441     563     798     77      881     401     708     226     34      30      84      471     6       48      966     670     135     598     219     564     302     152     739     823     339     340     734     131     847     921     796     720     240     469     582     400     350     503     347     127     567     204     52      457     804     916     134     643     386     70      731     732     884     274     918     750     632     408     783     766     251     139     531     747     35      138     212     880     954     428     744     890     27      90      67      413     396     756     266     46      928     840     646     940     17      285     716     958     255     367     439     633     555     989     534     805     14      267     276     495     472     740     161     554     380     915     454     593     378     745     850     295     818     614     629     121     313     333     604     95      404     144     326     281     572     752     202     220     15      63      710     305     500     683     984     733     821     345     981     846     247     60      47      853     168     355     208     885     243     299     97      122     565     961     418     306     58      93      379     953     692     229     342     864     922     661     773     ”



  
子程序名返回值类型公开备 注
反dll的寻找文本Ex整数型 
参数名类 型参考可空数组备 注
a文本型
b文本型
n整数型
置入代码 ({ 139, 77, 12, 139, 9, 87, 83, 86, 138, 17, 139, 125, 8, 139, 63, 132, 210, 15, 132, 131, 0, 0, 0, 138, 113, 1, 132, 246, 116, 99, 139, 77, 16, 141, 116, 15, 254, 139, 77, 12, 139, 9, 138, 7, 131, 198, 1, 56, 208, 116, 29, 132, 192, 116, 13, 138, 6, 131, 198, 1, 56, 208, 116, 16, 132, 192, 117, 243, 94, 91, 95, 131, 200, 255, 137, 236, 93, 194, 12, 0, 138, 6, 131, 198, 1, 56, 240, 117, 227, 141, 126, 255, 138, 97, 2, 132, 228, 116, 39, 138, 6, 131, 198, 2, 56, 224, 117, 178, 138, 65, 3, 132, 192, 116, 23, 138, 102, 255, 131, 193, 2, 56, 224, 117, 161, 235, 221, 235, 157, 49, 192, 94, 91, 95, 136, 208, 235, 55, 139, 85, 8, 43, 58, 137, 248, 94, 91, 95, 137, 236, 93, 194, 12, 0, 131, 200, 255, 94, 91, 95, 137, 236, 93, 194, 12, 0, 139, 77, 8, 43, 17, 137, 208, 91, 137, 236, 93, 194, 12, 0, 141, 36, 36, 141, 36, 36, 49, 192, 139, 85, 8, 138, 2, 83, 137, 195, 193, 224, 8, 139, 125, 16, 139, 85, 8, 139, 18, 141, 84, 58, 255, 139, 9, 247, 194, 3, 0, 0, 0, 116, 21, 138, 10, 131, 194, 1, 56, 217, 116, 192, 132, 201, 116, 81, 247, 194, 3, 0, 0, 0, 117, 235, 9, 195, 87, 137, 216, 193, 227, 16, 86, 9, 195, 139, 10, 191, 255, 254, 254, 126, 137, 200, 137, 254, 49, 217, 1, 198, 1, 207, 131, 241, 255, 131, 240, 255, 49, 249, 49, 240, 131, 194, 4, 129, 225, 0, 1, 1, 129, 117, 34, 37, 0, 1, 1, 129, 116, 211, 37, 0, 1, 1, 1, 117, 8, 129, 230, 0, 0, 0, 128, 117, 196, 94, 95, 91, 131, 200, 255, 137, 236, 93, 194, 12, 0, 139, 66, 252, 56, 216, 116, 89, 132, 192, 116, 233, 56, 220, 116, 62, 132, 228, 116, 225, 193, 232, 16, 56, 216, 116, 32, 132, 192, 116, 214, 56, 220, 116, 8, 132, 228, 117, 146, 235, 204, 235, 142, 94, 95, 139, 77, 8, 43, 17, 137, 208, 91, 137, 236, 93, 194, 12, 0, 139, 77, 8, 131, 234, 1, 43, 17, 137, 208, 94, 95, 91, 137, 236, 93, 194, 12, 0, 139, 77, 8, 131, 234, 2, 43, 17, 137, 208, 94, 95, 91, 137, 236, 93, 194, 12, 0, 139, 77, 8, 131, 234, 3, 43, 17, 137, 208, 94, 95, 91, 137, 236, 93, 194, 12, 0 })
返回 (0)






补充内容 (2018-8-25 09:31):
寻找文本 汇编有错 大家要用先用易库的寻找文本  寻找文本(数组+" ")这样

评分

参与人数 3好评 +3 精币 +5 收起 理由
polin + 1 + 1 支持开源~!感谢分享
maryma + 1 + 1 为什么会有乱码
呵呵仙 + 1 + 3 谢谢,编译后是不是会再快一点?

查看全部评分


结帖率:100% (3/3)
发表于 2018-10-11 21:37:02 | 显示全部楼层   浙江省杭州市
跟进学习谢谢了
回复 支持 反对

使用道具 举报

结帖率:22% (2/9)

签到天数: 11 天

发表于 2018-9-5 16:33:05 | 显示全部楼层   陕西省咸阳市
感谢分享,学习交流
回复 支持 反对

使用道具 举报

结帖率:97% (31/32)

签到天数: 22 天

 楼主| 发表于 2018-8-23 08:37:00 | 显示全部楼层   福建省福州市
编译后好像也没快
回复 支持 反对

使用道具 举报

结帖率:97% (31/32)

签到天数: 22 天

 楼主| 发表于 2018-8-22 16:43:47 | 显示全部楼层   福建省福州市
不知道 我复制过来 的! 就变这样了,可能网站的原因吧!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表