boolean isBlue = false; ColorVertex myColorVertex = (ColorVertex)firstVertex(); while(myColorVertex != null) { if(!myColorVertex.isVisited()) { myColorVertex.setVisited(true); if(isBlue) { myColorVertex.setColor(Color.red); } else { myColorVertex.setColor(Color.blue); } isBlue = !isBlue; } Edge myEdge = myColorVertex.firstEdge(); while(myEdge != null) { ColorVertex tmpColorVertex = (ColorVertex)myEdge.endPoint(); if(!tmpColorVertex.isVisited()) { tmpColorVertex.setVisited(true); if(isBlue) { tmpColorVertex.setColor(Color.red); } else { tmpColorVertex.setColor(Color.blue); } isBlue = !isBlue; } else if(tmpColorVertex.getColor() == myColorVector.getColor()) { // Vi får inte ha två noder sidan om varandra med samma färg return false; } myEdge = myEdge.nextEdge(); } myColorVertex = (ColorVertex)myColorVertex.nextVertex(); } return true;