create sentinel to adjancency array during preprocessing

This commit is contained in:
Dennis Luxen
2013-09-24 18:48:02 +02:00
parent 999f50dce9
commit 5a04700bae
3 changed files with 27 additions and 5 deletions
+3 -1
View File
@@ -95,7 +95,7 @@ public:
typename ShM<_StrNode, UseSharedMemory>::vector & nodes,
typename ShM<_StrEdge, UseSharedMemory>::vector & edges
) {
_numNodes = nodes.size();
_numNodes = nodes.size()-1;
_numEdges = edges.size();
_nodes.swap(nodes);
@@ -104,8 +104,10 @@ public:
#ifndef NDEBUG
Percent p(GetNumberOfNodes());
for(unsigned u = 0; u < GetNumberOfNodes(); ++u) {
SimpleLogger().Write() << "[" << u << "], 1st: " << BeginEdges(u) << ", last: " << EndEdges(u);
for(unsigned eid = BeginEdges(u); eid < EndEdges(u); ++eid) {
unsigned v = GetTarget(eid);
SimpleLogger().Write() << "Edge (" << u << "," << v << ")";
EdgeData & data = GetEdgeData(eid);
if(data.shortcut) {
unsigned eid2 = FindEdgeInEitherDirection(u, data.id);