删除 table 中的重复项(rexx 语言)
remove duplicates in a table (rexx language)
我有一个关于在 table(rexx 语言)中删除重复项的问题,我在使用 rexx 语言的 netphantom 应用程序上。
我需要一个关于如何删除 table.
中的重复项的示例
虽然我确实想过如何去做,比如对 A 和 B 这两个 table 使用两个循环,但我对此并不熟悉。
我的情况是:
rc = PanlistInsertData('A',0,SAMPLE)
TABLE A(这个table有重复数据)
123
1
1234
12
123
1234
我需要像这样过滤掉那些重复数据到 TABLE B 中:
123
1234
1
12
您可以通过以下方式消除重复项:
- 如果 InStem 第一个元素,将该元素移动到 OutStem 否则检查当前 InStem 元素的所有 OutStem 元素
- 如果找到元素,迭代到下一个 InStem 元素,否则将 InStem 元素添加到 OutStem
代码片段:
/*Input Stem - InStem.
Output Stem - OutStem.
Array Counters - I, J, K */
J = 1
DO I = 1 TO InStem.0
IF I = 1 THEN
OutStem.I = InStem.I
ELSE
DO K = 1 TO J
IF (InStem.I ?= OutStem.K) & (K = J) THEN
DO
J = J + 1
OutStem.J = InStem.I
END
ELSE
DO
IF (InStem.I == OutStem.K) THEN
ITERATE I
END
END
END
OutStem.0 = J
希望对您有所帮助。
您可以使用lookup stem variables
来测试您是否已经找到一个值。
这应该可以工作(注意我没有测试过所以可能有语法错误)
no=0;
yes=1
lookup. = no /* initialize the stem to no, not strictly needed */
j=0
do i = 1 to in.0
v = in.i
if lookup.v <> yes then do
j = j + 1
out.j = v
lookup.v = yes
end
end
out.0 = j
我有一个关于在 table(rexx 语言)中删除重复项的问题,我在使用 rexx 语言的 netphantom 应用程序上。
我需要一个关于如何删除 table.
虽然我确实想过如何去做,比如对 A 和 B 这两个 table 使用两个循环,但我对此并不熟悉。
我的情况是:
rc = PanlistInsertData('A',0,SAMPLE)
TABLE A(这个table有重复数据)
123
1
1234
12
123
1234
我需要像这样过滤掉那些重复数据到 TABLE B 中:
123
1234
1
12
您可以通过以下方式消除重复项:
- 如果 InStem 第一个元素,将该元素移动到 OutStem 否则检查当前 InStem 元素的所有 OutStem 元素
- 如果找到元素,迭代到下一个 InStem 元素,否则将 InStem 元素添加到 OutStem
代码片段:
/*Input Stem - InStem.
Output Stem - OutStem.
Array Counters - I, J, K */
J = 1
DO I = 1 TO InStem.0
IF I = 1 THEN
OutStem.I = InStem.I
ELSE
DO K = 1 TO J
IF (InStem.I ?= OutStem.K) & (K = J) THEN
DO
J = J + 1
OutStem.J = InStem.I
END
ELSE
DO
IF (InStem.I == OutStem.K) THEN
ITERATE I
END
END
END
OutStem.0 = J
希望对您有所帮助。
您可以使用lookup stem variables
来测试您是否已经找到一个值。
这应该可以工作(注意我没有测试过所以可能有语法错误)
no=0;
yes=1
lookup. = no /* initialize the stem to no, not strictly needed */
j=0
do i = 1 to in.0
v = in.i
if lookup.v <> yes then do
j = j + 1
out.j = v
lookup.v = yes
end
end
out.0 = j