@@ -31,7 +31,7 @@ public DiGraph()
3131 reverseVertexIndices = new System . Collections . Generic . Dictionary < int , T > ( ) ;
3232 matrix = new BitArray [ maxSize ] ;
3333
34- for ( int i = 0 ; i < maxSize ; i ++ )
34+ for ( var i = 0 ; i < maxSize ; i ++ )
3535 {
3636 matrix [ i ] = new BitArray ( maxSize ) ;
3737 }
@@ -99,7 +99,7 @@ public void RemoveVertex(T value)
9999 var index = vertexIndices [ value ] ;
100100
101101 //clear edges
102- for ( int i = 0 ; i < maxSize ; i ++ )
102+ for ( var i = 0 ; i < maxSize ; i ++ )
103103 {
104104 matrix [ i ] . Set ( index , false ) ;
105105 matrix [ index ] . Set ( i , false ) ;
@@ -191,12 +191,7 @@ public bool HasEdge(T source, T dest)
191191 var sourceIndex = vertexIndices [ source ] ;
192192 var destIndex = vertexIndices [ dest ] ;
193193
194- if ( matrix [ sourceIndex ] . Get ( destIndex ) )
195- {
196- return true ;
197- }
198-
199- return false ;
194+ return matrix [ sourceIndex ] . Get ( destIndex ) ;
200195 }
201196
202197 public List < T > GetAllOutEdges ( T vertex )
@@ -210,7 +205,7 @@ public List<T> GetAllOutEdges(T vertex)
210205
211206 var result = new List < T > ( ) ;
212207
213- for ( int i = 0 ; i < maxSize ; i ++ )
208+ for ( var i = 0 ; i < maxSize ; i ++ )
214209 {
215210 if ( matrix [ index ] . Get ( i ) )
216211 {
@@ -232,7 +227,7 @@ public List<T> GetAllInEdges(T vertex)
232227
233228 var result = new List < T > ( ) ;
234229
235- for ( int i = 0 ; i < maxSize ; i ++ )
230+ for ( var i = 0 ; i < maxSize ; i ++ )
236231 {
237232 if ( matrix [ i ] . Get ( index ) )
238233 {
@@ -246,15 +241,15 @@ public List<T> GetAllInEdges(T vertex)
246241 private void doubleMatrixSize ( )
247242 {
248243 var newMatrix = new BitArray [ maxSize * 2 ] ;
249- for ( int i = 0 ; i < maxSize * 2 ; i ++ )
244+ for ( var i = 0 ; i < maxSize * 2 ; i ++ )
250245 {
251246 newMatrix [ i ] = new BitArray ( maxSize * 2 ) ;
252247 }
253248
254249 var newVertexIndices = new System . Collections . Generic . Dictionary < T , int > ( ) ;
255250 var newReverseIndices = new System . Collections . Generic . Dictionary < int , T > ( ) ;
256251
257- int k = 0 ;
252+ var k = 0 ;
258253 foreach ( var vertex in vertexIndices )
259254 {
260255 newVertexIndices . Add ( vertex . Key , k ) ;
@@ -263,20 +258,21 @@ private void doubleMatrixSize()
263258 }
264259 nextAvailableIndex = k ;
265260
266- for ( int i = 0 ; i < maxSize ; i ++ )
261+ for ( var i = 0 ; i < maxSize ; i ++ )
267262 {
268263 newMatrix [ i ] = new BitArray ( maxSize * 2 ) ;
269- for ( int j = 0 ; j < maxSize ; j ++ )
264+ for ( var j = 0 ; j < maxSize ; j ++ )
270265 {
271- if ( matrix [ i ] . Get ( j )
272- && reverseVertexIndices . ContainsKey ( i )
273- && reverseVertexIndices . ContainsKey ( j ) )
266+ if ( ! matrix [ i ] . Get ( j ) || ! reverseVertexIndices . ContainsKey ( i ) ||
267+ ! reverseVertexIndices . ContainsKey ( j ) )
274268 {
275- var newI = newVertexIndices [ reverseVertexIndices [ i ] ] ;
276- var newJ = newVertexIndices [ reverseVertexIndices [ j ] ] ;
277-
278- newMatrix [ newI ] . Set ( newJ , true ) ;
269+ continue ;
279270 }
271+
272+ var newI = newVertexIndices [ reverseVertexIndices [ i ] ] ;
273+ var newJ = newVertexIndices [ reverseVertexIndices [ j ] ] ;
274+
275+ newMatrix [ newI ] . Set ( newJ , true ) ;
280276 }
281277 }
282278
@@ -289,15 +285,15 @@ private void doubleMatrixSize()
289285 private void halfMatrixSize ( )
290286 {
291287 var newMatrix = new BitArray [ maxSize / 2 ] ;
292- for ( int i = 0 ; i < maxSize / 2 ; i ++ )
288+ for ( var i = 0 ; i < maxSize / 2 ; i ++ )
293289 {
294290 newMatrix [ i ] = new BitArray ( maxSize / 2 ) ;
295291 }
296292
297293 var newVertexIndices = new System . Collections . Generic . Dictionary < T , int > ( ) ;
298294 var newReverseIndices = new System . Collections . Generic . Dictionary < int , T > ( ) ;
299295
300- int k = 0 ;
296+ var k = 0 ;
301297 foreach ( var vertex in vertexIndices )
302298 {
303299 newVertexIndices . Add ( vertex . Key , k ) ;
@@ -306,19 +302,20 @@ private void halfMatrixSize()
306302 }
307303 nextAvailableIndex = k ;
308304
309- for ( int i = 0 ; i < maxSize ; i ++ )
305+ for ( var i = 0 ; i < maxSize ; i ++ )
310306 {
311- for ( int j = 0 ; j < maxSize ; j ++ )
307+ for ( var j = 0 ; j < maxSize ; j ++ )
312308 {
313- if ( matrix [ i ] . Get ( j )
314- && reverseVertexIndices . ContainsKey ( i )
315- && reverseVertexIndices . ContainsKey ( j ) )
309+ if ( ! matrix [ i ] . Get ( j ) || ! reverseVertexIndices . ContainsKey ( i ) ||
310+ ! reverseVertexIndices . ContainsKey ( j ) )
316311 {
317- var newI = newVertexIndices [ reverseVertexIndices [ i ] ] ;
318- var newJ = newVertexIndices [ reverseVertexIndices [ j ] ] ;
319-
320- newMatrix [ newI ] . Set ( newJ , true ) ;
312+ continue ;
321313 }
314+
315+ var newI = newVertexIndices [ reverseVertexIndices [ i ] ] ;
316+ var newJ = newVertexIndices [ reverseVertexIndices [ j ] ] ;
317+
318+ newMatrix [ newI ] . Set ( newJ , true ) ;
322319 }
323320 }
324321
0 commit comments