# Vector ADT Functions

at() | at(size_type n) Accesses element n. teamNums.at(3) = 99; // Assigns 99 to element 3 x = teamNums.at(3); // Assigns element 3's value 99 to x |

size() | size_type size() const; Returns vector's size. if (teamNums.size() > 0) { // Size is 5 so condition is true ... } |

empty() | bool empty() const; Returns true if size is 0. if (teamNums.empty()) { // Size is 5 so condition is false ... } |

clear() | Removes all elements. Vector size becomes 0. teamNums.clear(); // Vector now has no elements cout << teamNums.size(); // Prints 0 teamNums.at(3) = 88; // Error; element 3 does not exist |

push_back() | void push_back(const T& x); Copies x to new element at vector's end, increasing size by 1. Parameter is pass by reference to avoid making local copy, but const to make clear not changed. // Assume vector is empty teamNums.push_back(77); // Vector is: 77 teamNums.push_back(88); // Vector is: 77, 88 cout << teamNums.size(); // Prints 2 |

erase() | iterator erase (iteratorPosition); Removes element from position. Elements from higher positions are shifted back to fill gap. Vector size decrements. // Assume vector is 77, 33, 88 teamNums.erase(teamNums.begin() + 1); // Now 77, 88 // (Strange position indication explained below) |

insert() | iterator insert(iteratorPosition, const T& x); Copies x to element at position. Items at that position and higher are shifted over to make room. Vector size increments. // Assume vector is 77, 88 teamNums.insert(teamNums.begin() + 1, 33); // Now 77, 33, 88 |