I currently have a program that can take a text file and inport the data that I need (names or locations as well as the distances between them) and I need to take that data and for a graph in boost so that I can do one of three things, use Dijkstra’s to find the shortest path between two nodes, use a minimum spanning tree to figure out the shortest way to connect every node, and how to visit every node only once on the shortest path.

I import the data as follows:

std::getline(fin, tempString); //Location1, Location2, ...
    std::stringstream tempSS(tempString);
    while (std::getline(tempSS,tempName1, ',')){
        //replace with what I need to do with the vertex names
        std::cout << "got name: " << tempName1 << std::endl;

gives we the locations names one at a time.

while (std::getline(fin,tempString)){ // (Location1, Location2, 6)
        //remove parentheses
        tempString.erase( tempString.begin(), tempString.begin() + tempString.find('(') + 1 );
        tempString.erase( tempString.begin() + tempString.find(')'), tempString.end() );
        std::stringstream temp_ss(tempString);
        std::getline(temp_ss, tempName1, ',');
        std::getline(temp_ss, tempName2, ',');

gives me the data for the edges of the graph.

what I don't know is how to take those loops and use the data to form a graph in boost that can handle the algorithms I need to use. any help would be greatly loved.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.