开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 1099|回复: 9
收起左侧

[已解决] 多行文本排序问题

 关闭 [复制链接]
结帖率:100% (1/1)
发表于 2022-10-6 19:49:34 | 显示全部楼层 |阅读模式   安徽省铜陵市
5精币
求助排序问题
例如:
1 张三 男 15
2 李四 男 15
3 王五 女 13
4 张三 男 11

想要把相同名字的排在一起
例如:
1 张三 男 15
4 张三 男 11
2 李四 男 15
3 王五 女 13

感谢各位大佬


最佳答案

查看完整内容

寻找文本()找的是空格的位置 位置1 = 寻找文本 (行文本 [n], “ ”, , 假) 后面加一行 位置1 = 寻找文本 (行文本 [n], “ ”, 位置1+1, 假)

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳

结帖率:100% (18/18)

签到天数: 12 天

发表于 2022-10-6 19:49:35 | 显示全部楼层   福建省泉州市
xyrobot 发表于 2022-10-6 21:09
老师,如果是取第三项的性别排序,是不是就是把位置+2就行了?

寻找文本()找的是空格的位置
位置1 = 寻找文本 (行文本 [n], “ ”, , 假)  后面加一行
位置1 = 寻找文本 (行文本 [n], “ ”, 位置1+1, 假)

评分

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

查看全部评分

回复

使用道具 举报

结帖率:95% (56/59)

签到天数: 13 天

发表于 2022-10-6 20:05:40 | 显示全部楼层   福建省宁德市
11.7.2_自定义数据类型数组排序.zip (4.02 KB, 下载次数: 17)

点评

这个还用不着自定义类型吧   福建省泉州市  发表于 2022-10-6 20:10
回复

使用道具 举报

结帖率:100% (2/2)

签到天数: 10 天

发表于 2022-10-6 20:09:51 | 显示全部楼层   福建省泉州市
① 取出所有参考位置的文本  1 张三 男 15  →  张三,2 李四 男 15 → 李四
②第①步取出的文本组成的数组去重
③去重后的文本数组为参照   逐一与行文本数组对照,在行文本数组中  寻找文本()  寻找结果不为-1的行文本数组成员加入结果数组
④结果数组合并成结果文本输出或返回

评分

参与人数 1好评 +1 精币 +3 收起 理由
Suky + 1 + 3 此处应该有鼓励~

查看全部评分

回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 1 天

 楼主| 发表于 2022-10-6 20:15:03 | 显示全部楼层   安徽省铜陵市
瓶中沙 发表于 2022-10-6 20:09
① 取出所有参考位置的文本  1 张三 男 15  →  张三,2 李四 男 15 → 李四
②第①步取出的文本组成的数 ...

小弟是小白,不太懂具体操作
回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 1 天

 楼主| 发表于 2022-10-6 20:18:03 | 显示全部楼层   安徽省铜陵市

太高深了,还没反应过来
回复

使用道具 举报

结帖率:100% (18/18)

签到天数: 12 天

发表于 2022-10-6 20:24:04 | 显示全部楼层   福建省泉州市
xyrobot 发表于 2022-10-6 20:15
小弟是小白,不太懂具体操作
  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
子程序1 ( #常量1 )
子程序名返回值类型公开备 注
子程序1  
参数名类 型参考可空数组备 注
文本文本型
变量名类 型静态数组备 注
位置1整数型 
位置2整数型 
行文本文本型0
队列组文本型0
结果组文本型0
n整数型 
i整数型 
结果文本文本型 
行文本 = 分割文本 (文本, #换行符, )
调试输出 (行文本)
计次循环首 (取数组成员数 (行文本), n)
位置1 = 寻找文本 (行文本 [n], “ ”, , )
位置2 = 寻找文本 (行文本 [n], “ ”, 位置1 + 1, )
加入成员 (队列组, 取文本中间 (行文本 [n], 位置1 + 1, 位置2 - 位置1 - 1))
计次循环尾 ()
数组_去重复 (队列组, )
计次循环首 (取数组成员数 (队列组), n)
计次循环首 (取数组成员数 (行文本), i)
如果真 (寻找文本 (行文本 [i], 队列组 [n], , ) ≠ -1)
加入成员 (结果组, 行文本 [i])

计次循环尾 ()
计次循环尾 ()
计次循环首 (取数组成员数 (结果组), n)
结果文本 = 结果文本 + 结果组 [n]#换行符
计次循环尾 ()
调试输出 (结果文本)


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

回复

使用道具 举报

结帖率:100% (26/26)
发表于 2022-10-6 20:46:55 | 显示全部楼层   湖北省武汉市
  
子程序名返回值类型公开备 注
测试  
变量名类 型静态数组备 注
字符串文本型 
待排序数组文本型0
待排序数组长度整数型 
i整数型 
j整数型 
待比较文本1文本型 
待比较文本2文本型 
m整数型 
n整数型 
临时文本文本型 
新的字符串文本型 
字符串 = “...”
待排序数组 = 分割文本 (字符串, #换行符, )
待排序数组长度 = 取数组成员数 (待排序数组)
计次循环首 (待排序数组长度, i)
计次循环首 (待排序数组长度 - i, j)
m = 寻找文本 (待排序数组 [j], “ ”, , )
n = 寻找文本 (待排序数组 [j], “ ”, m + 1, )
待比较文本1 = 取文本中间 (待排序数组 [j], m + 1, n - m - 1)
m = 寻找文本 (待排序数组 [j + 1], “ ”, , )
n = 寻找文本 (待排序数组 [j + 1], “ ”, m + 1, )
待比较文本2 = 取文本中间 (待排序数组 [j + 1], m + 1, n - m - 1)
如果真 (待比较文本1 < 待比较文本2)
临时文本 = 待排序数组 [j]
待排序数组 [j] = 待排序数组 [j + 1]
待排序数组 [j + 1] = 临时文本

计次循环尾 ()
计次循环尾 ()
计次循环首 (待排序数组长度, i)
新的字符串 = 新的字符串 + 待排序数组 [i]#换行符
计次循环尾 ()
调试输出 (新的字符串)


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

使用道具 举报

结帖率:100% (1/1)

签到天数: 1 天

 楼主| 发表于 2022-10-6 21:09:47 | 显示全部楼层   安徽省铜陵市
Suky 发表于 2022-10-6 20:24
[e=1].版本 2
.支持库 spec

老师,如果是取第三项的性别排序,是不是就是把位置+2就行了?
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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