如何基于分隔符映射N个关键字

how to map N keywords based on delimiter

本文关键字:关键字 映射 何基于 分隔符      更新时间:2023-10-16

我有N个关键字,可以按如下方式映射:

1,2,3,4----/5,6,7,8----/9,10,11,12----/--------

从上面的行,我应该能够映射1到5,2到6,3到7,等等。我也应该能够将1映射到9,1映射到10,1映射到11,1映射到12,以此类推,我应该能够映射N个组合。我应该让这个泛型在N种组合下都有效。请告诉我怎么做的逻辑

我不确定,但我认为你想要的是这样的映射:Input: 1,2,3,422,23,24,25,103,104,105,106,最后得到像1->(22)->(103), 2->(23)->(104) etc...这样的图。要做到这一点,您需要以下元素:

    <
  • 列表节点/gh>
  • <
  • 映射/gh>

您可以编写自己的链表(这是一个很好的练习,不太复杂),或者您可以使用STL/Boost容器之一。一般程序为

  1. 接受输入
  2. 验证输入
  3. 解析输入(到列表/数组或临时变量中)
  4. 在主列表中创建主节点,或者添加到子列表。(见下文)

你需要一个二维列表。

1 -> 2 ->  3 -> 4
|    |     |    |
22-> 23 -> 24-> 25 
|    |     |    |
103->104-> 105->106

所以每个节点都需要至少2个指针(你可以称它们为"右"answers"下",都是NULL为"106"),但它可能会更好有4(上和左,以及…NULL表示"1")。这允许动态调整大小,添加等等…还允许你在每一层有不同数量的映射。我相信有很多方法可以做到这一点。