首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图的边和顶点的排序

图的边和顶点的排序
EN

Stack Overflow用户
提问于 2022-07-25 09:26:12
回答 1查看 61关注 0票数 0

代码语言:javascript
复制
G=DiMultigraph(4)
 add_edge!(G,2,4)
 add_edge!(G,4,1)
 add_edge!(G,4,1)
 add_edge!(G,1,3)
 add_edge!(G,1,3)
 add_edge!(G,2,3)

当我跑的时候

代码语言:javascript
复制
e=edges(G)
e1=collect(e)

我得到了

代码语言:javascript
复制
 Multiple edge 1 => 3 with multiplicity 2
 Multiple edge 2 => 3 with multiplicity 1
 Multiple edge 2 => 4 with multiplicity 1
 Multiple edge 4 => 1 with multiplicity 2

我想要的是未排序的列表

代码语言:javascript
复制
 Multiple edge 2 => 4 with multiplicity 1
 Multiple edge 4 => 1 with multiplicity 2
 Multiple edge 1 => 3 with multiplicity 1
 Multiple edge 2 => 3 with multiplicity 1

似乎有一个这里的代码,但我并不真正理解它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-25 18:32:28

我想你想按插入的顺序排列边缘。要做到这一点,您需要有一个键来排序。有一种方法:

代码语言:javascript
复制
edgevector = [[2,4], [4,1], [4,1],[1,3],[1,3],[2,3]]
G = DiMultigraph(4)
for edg in edgevector
    add_edge!(G, edg[1], edg[2])
end

e = edges(G)
e1 = sort!(collect(e), by = edg -> findfirst(==([edg.src, edg.dst]), edgevector))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73106870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档