tune: Micheal Jackson's Thriller Vector Background: Do do dum do do dum cha Do do dum do do dum cha Do do dum do do dum cha It's close to midnight, and you need to store this information You want a data structure, that's the best because you have no patience Maybe linked lists, constant time insertion, bad at search Or maybe trees, insertion's great, and also searching things ints, chars, or strings Chorus: But you use vectors, vectors right Oh, great at search, but bad insertion and deletion You know it's vector, vector right Oh, random access makes searching quick and easy, oh yeah You have 10 strings, and a vector that you're going to use You have a counter, to keep of track of each string you use a loop You use push_back, because you want to cout to the screen, yeah Then use your loop, loop over the vector, cout each time Vector's work fine Chorus (Evil spooky voice) So next time, you have to choose between linked lists, trees, and vectors. Linked lists, O(n), complexity search, O(1), insertion, Trees are efficient for both insertion and search. T-vectors grows dynamically, by doubling in size as needed when elements are inserted with push_back. Not to mention constant time for search, because of random access, O(n) insertion, with push_back. Now you make the decision: linked lists, trees, or vectors. Chorus.