public void bfs(boolean[]isVisited,int i){int u;//表示队列的头结点对应的下标int w;//表示邻接节点w//队列LinkedList queue = new LinkedList();//访问节点,输出节点信息System.out.println(getValueByIndex(i)+"=>");isVisited[i]=true;queue.addLast(i);while (!queue.isEmpty()){u = (Integer) queue.removeFirst();w=getFirstNeighbor(u);while (w!=-1){if(!isVisited[w]){System.out.println(getValueByIndex(w)+"=>");//标记已经访问isVisited[w]=true;queue.addLast(w);}w=getNextNeighbor(u,w);//体现了广度优先遍历的思想}}}public void bfs(){for (int i = 0; i < getNumofEdges(); i++) {if(!isVisited[i]){ bfs(isVisited,i);}}}