Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Tiago Peixoto
graph-tool
Commits
52a48622
Commit
52a48622
authored
Aug 28, 2020
by
Tiago Peixoto
Browse files
graph_adjacency.hh: slightly speedup edge removal
parent
2de7ad34
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/graph/graph_adjacency.hh
View file @
52a48622
...
...
@@ -1034,19 +1034,18 @@ void remove_edge(const typename adj_list<Vertex>::edge_descriptor& e,
if
(
!
g
.
_keep_epos
)
// O(k_s + k_t)
{
// remove and shift
auto
remove_e
=
[
&
]
(
auto
&
elist
,
auto
&&
begin
,
auto
&&
end
,
auto
v
)
auto
remove_e
=
[
&
]
(
auto
&
elist
,
auto
&&
begin
,
auto
&&
end
)
{
auto
iter
=
std
::
find_if
(
begin
,
end
,
[
&
]
(
const
auto
&
ei
)
->
bool
{
return
v
==
ei
.
first
&&
idx
==
ei
.
second
;
});
{
return
idx
==
ei
.
second
;
});
assert
(
iter
!=
end
);
elist
.
erase
(
iter
);
};
remove_e
(
s_es
,
s_es
.
begin
(),
s_es
.
begin
()
+
s_pos
,
t
);
remove_e
(
s_es
,
s_es
.
begin
(),
s_es
.
begin
()
+
s_pos
);
s_pos
--
;
remove_e
(
t_es
,
t_es
.
begin
()
+
t_pos
,
t_es
.
end
()
,
s
);
remove_e
(
t_es
,
t_es
.
begin
()
+
t_pos
,
t_es
.
end
());
}
else
// O(1)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment