示例#1
0
int Links::addLink(Link &l) {
    bool inserted(false);
    int n1(l.n().n());
    int n2(l.m().n());

    for (Links::iterator it = begin(); it != end(); ++it) {
        if (l.cost() < it->cost() && !inserted) {
            insert(it, l);
            _vect[n1][n2] = l.cost();
            _vect[n2][n1] = l.cost();

            inserted = true;
        }
    }

    if (!inserted) {
        push_back(l);
        _vect[n1][n2] = l.cost();
        _vect[n2][n1] = l.cost();
    }

    return 0;
}