All pastes #404948 Raw Edit

Stuff

public java v1 · immutable
·published 2007-03-21 11:37 UTC
rendered paste body
    /**     * Returns an iterator of vertices adjacent to v.     * Time complexity for iterating over all vertices: O(n),     * where n is the number of adjacent vertices.     *      * @param  v vertex.     * @return an iterator of vertices adjacent to v.     * @throws IllegalArgumentException if v is out of range.     */    public VertexIterator adjacentVertices(int v) {        if(v < 0  || v >= numVertices) {            throw new IllegalArgumentException("Out of range");        }        return new AdjacentVerticesIterator(v);        }        /**     * Testar iteratorn     */    public void test(int v) {        VertexIterator test = adjacentVertices(v);        System.out.println(test.next());    }            private class AdjacentVerticesIterator implements VertexIterator {        int nextPos = 0;        int vertex;                AdjacentVerticesIterator(int v) {            vertex = v;                     }         //         private void findNext() {//             nextPos++;//             while (nextPos < numVertices && adjacentVertices[vertex] == null)//                 nextPos++;//         }                        public boolean hasNext() {            return nextPos < adjacentVertices[vertex].size();        }                public int next() {            int pos = nextPos;            if (pos >= adjacentVertices[vertex].size()) {                throw new NoSuchElementException("This iterator has no more elements.");            }            pos++;            return pos; //return the element at this position. but how ?        }    }