public boolean addEdge(int orig, int dest){
		int nodeNumber = (adjacencyList == null) ? 
				0 : adjacencyList.length;
		if(orig  > nodeNumber || dest > nodeNumber ||
				orig < 1 || dest <1) return false;
		if(adjacencyList[orig-1] != null)
			for(int n : adjacencyList[orig-1])
				if(n==dest) return false;
		if(adjacencyList[orig-1] == null){
			adjacencyList[orig-1] = new int[1];
			adjacencyList[orig-1][0] = dest;
		}
		else{
			int[] newList = new int[adjacencyList[orig-1].length+1];
			System.arraycopy(adjacencyList[orig-1], 0, newList, 0, adjacencyList[orig-1].length);
			newList[adjacencyList[orig-1].length] = dest;
			adjacencyList[orig-1] = newList;
		}
		return true;
	}