necesitas una serie de estructuras, una es el nodo y otra estructura es la de los linkeos entre nodos.
Si el usuario quiere una conexion entre dos, sencillamente agregas un nuevo nodo a la lista de Links, y referencias los dso nodos con el nuevo link.
Es un tanto complicado, pero es muy dinamico asi.
Si no lo podes hacer con una matriz, y no pones nada, cuando quiere relacionarlos, marcas en la posicion de la raiz, cada nodo de tu grafo debe tener su ID de la matriz, para saber despues con quien esta conectado (recorres ese logar de la matriz.
O sea, una cosa es la lista de nodos y otra es la matriz de conexiones.
Saludos.