The standard library provides algorithms such as std::sort for common container work.

Algorithm Sort

algorithm_sort.cpp
#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    int bonus = ;
    int extra = ;

    std::vector<int> scores{7, bonus, 3, extra};
    std::sort(scores.begin(), scores.end());

    std::cout << "first=" << scores.front() << std::endl;
    std::cout << "last=" << scores.back() << std::endl;
    std::cout << "count=" << scores.size() << std::endl;
    return 0;
}
#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    int bonus = ;
    int extra = ;

    std::vector<int> scores{7, bonus, 3, extra};
    std::sort(scores.begin(), scores.end());

    std::cout << "first=" << scores.front() << std::endl;
    std::cout << "last=" << scores.back() << std::endl;
    std::cout << "count=" << scores.size() << std::endl;
    return 0;
}
#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    int bonus = ;
    int extra = ;

    std::vector<int> scores{7, bonus, 3, extra};
    std::sort(scores.begin(), scores.end());

    std::cout << "first=" << scores.front() << std::endl;
    std::cout << "last=" << scores.back() << std::endl;
    std::cout << "count=" << scores.size() << std::endl;
    return 0;
}
#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    int bonus = ;
    int extra = ;

    std::vector<int> scores{7, bonus, 3, extra};
    std::sort(scores.begin(), scores.end());

    std::cout << "first=" << scores.front() << std::endl;
    std::cout << "last=" << scores.back() << std::endl;
    std::cout << "count=" << scores.size() << std::endl;
    return 0;
}
#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    int bonus = ;
    int extra = ;

    std::vector<int> scores{7, bonus, 3, extra};
    std::sort(scores.begin(), scores.end());

    std::cout << "first=" << scores.front() << std::endl;
    std::cout << "last=" << scores.back() << std::endl;
    std::cout << "count=" << scores.size() << std::endl;
    return 0;
}
#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    int bonus = ;
    int extra = ;

    std::vector<int> scores{7, bonus, 3, extra};
    std::sort(scores.begin(), scores.end());

    std::cout << "first=" << scores.front() << std::endl;
    std::cout << "last=" << scores.back() << std::endl;
    std::cout << "count=" << scores.size() << std::endl;
    return 0;
}
#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    int bonus = ;
    int extra = ;

    std::vector<int> scores{7, bonus, 3, extra};
    std::sort(scores.begin(), scores.end());

    std::cout << "first=" << scores.front() << std::endl;
    std::cout << "last=" << scores.back() << std::endl;
    std::cout << "count=" << scores.size() << std::endl;
    return 0;
}
#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    int bonus = ;
    int extra = ;

    std::vector<int> scores{7, bonus, 3, extra};
    std::sort(scores.begin(), scores.end());

    std::cout << "first=" << scores.front() << std::endl;
    std::cout << "last=" << scores.back() << std::endl;
    std::cout << "count=" << scores.size() << std::endl;
    return 0;
}
#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    int bonus = ;
    int extra = ;

    std::vector<int> scores{7, bonus, 3, extra};
    std::sort(scores.begin(), scores.end());

    std::cout << "first=" << scores.front() << std::endl;
    std::cout << "last=" << scores.back() << std::endl;
    std::cout << "count=" << scores.size() << std::endl;
    return 0;
}
algorithm An algorithm works with a range of values, so the container owns the data and the algorithm performs the operation.