开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 3519|回复: 22
打印 上一主题 下一主题
收起左侧

[已解决] 英文数字混编求排序源码

 关闭 [复制链接]
结帖率:86% (19/22)
跳转到指定楼层
楼主
发表于 2017-6-19 19:48:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式   四川省成都市
5精币
已知文本内容为 数字+英文 / 英文+数字 的内容,求对该文本的排序源码

例子:已知文本为 aaa00001~aaa99999 或 abc00001~abc99999 ,需对英文及数字统一进行排序

例如,  aaa00001 排在 abc000001  前面,如果英文前缀一致,则只对数字进行排序

文本内容也有  00001aaaaaa 这种的,英文和数字的长度不定

不知道讲述的是否够清楚,有不清楚的跟帖回复一下,谢谢


补充内容 (2017-6-19 21:46):
http://125.confly.eu.org/forum.php?mod= ... 80&pid=11587153

已补需排序的文本例子,求大神出手

最佳答案

查看完整内容

[e=0].版本 2 .支持库 eCalc .程序集 窗口程序集_启动窗口 .子程序 __启动窗口_创建完毕 .局部变量 文本数组, 文本型, , "20" .局部变量 i, 整数型 .局部变量 随机, 文本型 置随机数种子 () .计次循环首 (20, i) 随机 = 选择 (取字节集数据 (到字节集 (取随机数 (0, 1)), #逻辑型, ), “aaa”, “abc”) + 到文本 (取随机数 (1000, 9999)) 文本数组 = 随机 编辑框1.加入文本 (随机 + #换行符) .计次循环尾 () ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
沙发
发表于 2017-6-19 19:48:36 | 只看该作者   广西壮族自治区玉林市
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
文本数组文本型20
i整数型 
随机文本型 
置随机数种子 ()
计次循环首 (20, i)
随机 = 选择 (取字节集数据 (到字节集 (取随机数 (0, 1)), #逻辑型, ), “aaa”, “abc”)到文本 (取随机数 (1000, 9999))
文本数组 [i] = 随机
编辑框1.加入文本 (随机 + #换行符 )
计次循环尾 ()
文本排序 (文本数组, )
计次循环首 (20, i)
编辑框2.加入文本 (文本数组 [i]#换行符 )
计次循环尾 ()
子程序名返回值类型公开备 注
文本排序  
参数名类 型参考可空数组备 注
文本数组文本型
从小到大逻辑型默认从大到小
变量名类 型静态数组备 注
a整数型 
b整数型 
大数大数2
c整数型 
保留文本型 
数字文本型2
字节集1字节集 
字节集2字节集 
计次循环首 (取数组成员数 (文本数组), a)
计次循环首 (取数组成员数 (文本数组), b)
字节集1 = 到字节集 (文本数组 [a])
字节集2 = 到字节集 (文本数组 [b])
计次循环首 (取字节集长度 (字节集1), c)
数字 [1] = 数字 [1]到文本 (字节集1 [c])
计次循环尾 ()
大数 [1].导入文本 (数字 [1])
计次循环首 (取字节集长度 (字节集2), c)
数字 [2] = 数字 [2]到文本 (字节集2 [c])
计次循环尾 ()
大数 [2].导入文本 (数字 [2])
如果真 (选择 (从小到大, 大数 [1].小于 (大数 [2]), 大数 [1].大于 (大数 [2])))
保留 = 文本数组 [a]
文本数组 [a] = 文本数组 [b]
文本数组 [b] = 保留
大数 [1].销毁 ()
大数 [2].销毁 ()
数字 [1]“”
数字 [2]“”
计次循环尾 ()
计次循环尾 ()


i支持库列表   支持库注释   
eCalc数值计算支持库



补充内容 (2017-6-19 21:59):
小弟我只会写冒泡算法

源代码.e

5.97 KB, 下载次数: 4

QQ图片20170619215539.png (85.57 KB, 下载次数: 0)

效果图

效果图

评分

参与人数 1荣誉 +1 收起 理由
Hoibben + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:98% (89/91)
板凳
发表于 2017-6-19 20:00:39 | 只看该作者   广西壮族自治区*
你可以尝试下利用数据库的排序来实现!如果是想利用其它的排序的话我不懂!你可以坐等大神!
回复

使用道具 举报

结帖率:100% (26/26)
地板
发表于 2017-6-19 20:07:11 | 只看该作者   安徽省池州市
demo.zip (1.62 KB, 下载次数: 10)      
回复

使用道具 举报

结帖率:100% (24/24)

签到天数: 19 天

地下
发表于 2017-6-19 20:37:16 | 只看该作者   广东省东莞市
就文本排序就OK了.
http://bbs.eyuyan.com/read.php?tid=397806
回复

使用道具 举报

结帖率:91% (144/158)

签到天数: 7 天

6
发表于 2017-6-19 20:49:24 | 只看该作者   广东省潮州市
  1. .版本 2
  2. .支持库 spec

  3. .局部变量 b, 文本型, , "0"
  4. .局部变量 z, 整数型, , "0"
  5. .局部变量 文本, 文本型
  6. .局部变量 i


  7. 文本 = “aaa00001/aaa99999/abc00001/abc99999”
  8. 文本 = 子文本替换 (文本, “aaa”, “888”, , , 真)
  9. 文本 = 子文本替换 (文本, “abc”, “999”, , , 真)
  10. b = 分割文本 (文本, “/”, )
  11. .计次循环首 (取数组成员数 (b), i)
  12.     加入成员 (z, 到整数 (b [i]))
  13. .计次循环尾 ()
  14. 数组排序 (z, 真)
  15. 清除数组 (b)
  16. .计次循环首 (取数组成员数 (z), i)
  17.     文本 = 到文本 (z [i])
  18.     .判断开始 (取文本左边 (文本, 3) = “888”)
  19.         文本 = “aaa” + 取文本右边 (文本, 取文本长度 (文本) - 3)
  20.     .判断 (取文本左边 (文本, 3) = “999”)
  21.         文本 = “abc” + 取文本右边 (文本, 取文本长度 (文本) - 3)
  22.     .默认

  23.     .判断结束
  24.     加入成员 (b, 文本)
  25. .计次循环尾 ()
  26. 调试输出 (b)
复制代码
回复

使用道具 举报

结帖率:20% (1/5)
7
发表于 2017-6-19 21:05:41 | 只看该作者   浙江省温州市
  1. .版本 2
  2. .支持库 spec

  3. .程序集 窗口程序集_启动窗口

  4. .子程序 __启动窗口_创建完毕
  5. .局部变量 文本, 文本型
  6. .局部变量 n1, 整数型
  7. .局部变量 txt1, 整数型

  8. 文本 = “aaa00001”
  9. .计次循环首 (取文本长度 (文本), n1)
  10.     txt1 = 取文本中间 (文本, n1, 1)
  11.     .如果真 (取反 (是否为数字 (txt1)))
  12.         调试输出 (字母取位置 (txt1))
  13.     .如果真结束

  14. .计次循环尾 ()

  15. .子程序 字母取位置, 整数型, , 判断字母所在的循序,并返回位置,可用于判断先后,数值越小越靠前
  16. .参数 字母, 文本型
  17. .局部变量 字母组, 文本型, , "0"
  18. .局部变量 小写字母, 文本型
  19. .局部变量 n1, 整数型

  20. 字母组 = { “a”, “b”, “c”, “d”, “e”, “f”, “g”, “h”, “i”, “j”, “k”, “l”, “m”, “n”, “o”, “p”, “q”, “r”, “s”, “t”, “u”, “v”, “w”, “x”, “y”, “z” }
  21. 小写字母 = 到小写 (字母)
  22. .计次循环首 (取数组成员数 (字母组), n1)
  23.     .如果真 (小写字母 = 字母组 [n1])
  24.         返回 (n1)
  25.     .如果真结束
  26.     处理事件 ()
  27. .计次循环尾 ()
  28. 返回 (0)

  29. .子程序 是否为数字, 逻辑型
  30. .参数 文本, 文本型

  31. .如果真 (到文本 (到整数 (文本)) = 文本)
  32.     返回 (真)
  33. .如果真结束
  34. 返回 (假)
复制代码

补充内容 (2017-6-19 21:08):
没有解决你的问题,这个是刚写的 如何判断字母大小的,A>b  执行出来是 1>2,数值越小越大,你可以利用这个子程序去写,先删除首部的0,然后判断第一个数值是数字还是文字,如果是数字 就按数组来判断

补充内容 (2017-6-19 21:08):
字母就按循序先后来判断
回复

使用道具 举报

结帖率:86% (19/22)
8
 楼主| 发表于 2017-6-19 21:14:15 | 只看该作者   四川省成都市

亲,文本内容是
aaa00001 到 aaa99999 不是只有2个文本的
回复

使用道具 举报

结帖率:86% (19/22)
9
 楼主| 发表于 2017-6-19 21:19:33 | 只看该作者   四川省成都市
粉蝴蝶软件 发表于 2017-6-19 21:05
补充内容 (2017-6-19 21:08):
没有解决你的问题,这个是刚写的 如何判断字母大小的,A>b  执行出来是 1>2 ...

也不知道是不是我自己想的复杂了还是讲的复杂了

我现在就一批文本内容就是 英文+数字 或者 数字+英文 这样类型的

我自己的思路是先判断第几位到第几位是数字,然后处理以0开头的数字段,作对比

其次是英文段的排序,最后再是一个综合排序,我自己也没实现到,所以才来求助了
回复

使用道具 举报

结帖率:86% (19/22)
10
 楼主| 发表于 2017-6-19 21:27:03 | 只看该作者   四川省成都市
呵呵仙 发表于 2017-6-19 20:37
就文本排序就OK了.
http://bbs.eyuyan.com/read.php?tid=397806

呵呵仙来个模块具体的用法呗,人笨下载了不会用
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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