Data structure minimum spanning tree undirected graph connected graph MFC c language