对数组中的值对进行重新排序,使它们按顺序排列

2024-10-02 22:30:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试构建一个解决方案来对值对数组进行正确排序,以便它们以正确的顺序结束。以Python为例:

theArray = [['Dempster St','Main St'],['Dempster St','Church St'],['Emerson St','Church St']]

我需要对数组进行排序,使其最终看起来像这样:

theArray = [['Emerson St','Church St'],['Church St','Dempster St'],['Dempster St','Main St']]

一些注意事项:

  • 不能保证每对中的顺序指向同一方向。例如:在上面的示例中,第二个数组元素的成对顺序指向与其余元素相反的方向(Dempster到Church,而不是Church到Dempster)

  • 代码的构建应该使它既可以在Python中使用,也可以在C中使用,因此理想情况下,应该在没有任何特定于语言的技巧的情况下完成它

  • 最后,构建最终数组的顺序无关紧要,只要元素遵循正确的顺序。例如,以下解决方案也适用:

    theArray = [['Main St','Dempster St'],['Dempster St','Church St'],['Church St','Emerson St']]

想法?你知道吗


Tags: 元素排序顺序main情况数组解决方案方向
1条回答
网友
1楼 · 发布于 2024-10-02 22:30:12

我设法使它成功了。我通过使用多个嵌套循环来迭代每一对中的每个元素—这样我就可以检查它们的唯一性(为了做到这一点,每当一个项被多次找到时,我就会增加一个相关的变量,比如refcount);最后,计数最低的两个元素是路由的开始和结束。从那里很容易找到其余的联系。你知道吗

相关问题 更多 >