易语言取两个数组的交集与差集

如题,设有A,B两个字符串,
(1)求交集:要求两个字符串中相同的部分保留下来放在字符串C中;
(2)求差集:两求两个字符串中相同的部分去掉,剩余的放在字符串D中;
(3)对字符串C或D进行从大到小,或从小到大的排序.
A=”1-3-14-15-8-10-30-33-16″
B=”2-5-8-11-14-16-17-29-4-7-22″
结果交集:
C=”8-14-16″
D=”1-2-3-4-5-7-10-11-15-17-22-29-30-33″

.版本 2
.支持库 EDataStructure
.支持库 spec

.子程序 __启动窗口_创建完毕
.局部变量 文本1, 文本型
.局部变量 文本2, 文本型
.局部变量 节点, 节点
.局部变量 文本数组1, 文本型, , "0"
.局部变量 文本数组2, 文本型, , "0"
.局部变量 计次
.局部变量 节点数组, 文本型, , "0"
.局部变量 是否重复, 逻辑型
.局部变量 结果数组1, , , "0"
.局部变量 结果数组2, , , "0"
.局部变量 结果文本1, 文本型
.局部变量 结果文本2, 文本型

文本1 = “1-3-14-15-8-10-30-33-16”
文本2 = “2-5-8-11-14-16-17-29-4-7-22”
文本数组1 = 分割文本 (文本1, “-”, )
文本数组2 = 分割文本 (文本2, “-”, )
.计次循环首 (取数组成员数 (文本数组1), 计次)
    节点.加入属性 (文本数组1 [计次], 假)
.计次循环尾 ()
.计次循环首 (取数组成员数 (文本数组2), 计次)
    .如果真 (节点.加入属性 (文本数组2 [计次], 假) = 假)
        节点.修改属性 (文本数组2 [计次], 真)
    .如果真结束

.计次循环尾 ()
节点.取全部属性名 (节点数组)
.计次循环首 (取数组成员数 (节点数组), 计次)
    节点.取逻辑值 (节点数组 [计次], 是否重复)
    .如果 (是否重复)
        加入成员 (结果数组1, 到整数 (节点数组 [计次]))
    .否则
        加入成员 (结果数组2, 到整数 (节点数组 [计次]))
    .如果结束

.计次循环尾 ()
数组排序 (结果数组1, )
数组排序 (结果数组2, )
.计次循环首 (取数组成员数 (结果数组1), 计次)
    结果文本1 = 结果文本1 + 到文本 (结果数组1 [计次]) + “-”
.计次循环尾 ()
.计次循环首 (取数组成员数 (结果数组2), 计次)
    结果文本2 = 结果文本2 + 到文本 (结果数组2 [计次]) + “-”
.计次循环尾 ()
调试输出 (结果文本1)
调试输出 (结果文本2)

未经允许不得转载:军哥驿站 » 易语言取两个数组的交集与差集

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏