0

我将以下名称存储在文本文件中。

|Rafal Dlugosz     |     Ryszard Wojtyna|
|Shuming Wang     |     Junzo Watada|
|Ryszard Wojtyna     |     Rafal Dlugosz|
|Qinghua Hu     |     Daren X. Yu|
|Seok-Beom Roh     |     Tae-Chon Ahn|
|Daren X. Yu    |     Qinghua Hu|

名称用|符号分隔。我只需要显示第一个人名等于第二个人名的一对姓名,对于同一对,第二个人名等于名字。

例子:

|Rafal Dlugosz     |     Ryszard Wojtyna|
|Ryszard Wojtyna     |     Rafal Dlugosz|
|Qinghua Hu     |     Daren X. Yu|
|Daren X. Yu    |     Qinghua Hu|

任何形式的帮助将不胜感激。谢谢。

4

1 回答 1

0

我的建议如下 - 拆分每行上的字符串并在每对中创建一个对数组,将第一个字典名称放在对的第一个位置,另一个名称放在对的第二个位置。对此数组进行排序,重复项将彼此相邻。

此外,您还必须以某种方式添加初始数组中每对索引的知识。也许使用自己的结构是最好的选择:

class Entry implements Comparable {
  String first_name_lexicographically;
  String second_name_lexicographically;
  int initial_index;
  public Entry(String line, int index); // split the line and initilize the fields
}

现在创建一个条目数组对其进行排序,并且您的定义的重复条目将是相邻的。

于 2013-06-07T08:46:36.783 回答