De C + + Standard Template Library bevat twee gelijkaardige maar toch verschillende containers : de vector en de lijst . Een vector is een set van sequentieel gerangschikt gegevens die kunnen groeien of krimpen dynamisch , een lijst is een verzameling van gekoppelde items die niet noodzakelijk opeenvolgend zijn gerangschikt in het geheugen , maar kan sequentieel worden benaderd , omdat elk item heeft een link naar het volgende item . Het leren van de verschillen tussen de vector en de lijst kan u helpen meer geoptimaliseerde oplossingen schrijven in C + + . Inbrengen Speed De gegevens door een vector wordt sequentieel gerangschikt in het geheugen , wat betekent dat als u een item in het begin van een vector te voegen , elk item in de Vector moet worden "down " bewogen door een . Dit is rekenkundig duur , vooral voor grote vectoren . Deze prestatie straf komt wanneer een nieuw item wordt geplaatst of verwijderd vanaf elke locatie , behalve het laatste element van de vector . Met een lijst , worden de gegevens niet noodzakelijkerwijs sequentieel gerangschikt in het geheugen , in plaats daarvan , elk item in de lijst bevat een link naar het volgende item in de lijst . Wanneer u in een lijst plaatst , het item kan worden overal in het geheugen , waardoor het invoegen in een lijst met veel minder duur dan het invoegen in een vector . Sorting geplaatst de lijst container heeft een ingebouwde soort functie die u toelaat om foto ingedeeld op basis van een bepaalde criteria . De vector , echter niet deze ingebouwde functie hebben , en daarom moet u de sorteervolgorde code zelf te schrijven als je wilt een vector te sorteren . Random Access < br lijsten > hebben langzamere random access keer dan vectoren . In een vector , kan een element rechtstreeks toegankelijk voor de index . Dit geeft de vector zeer snelle random access time . Met een lijst , aan de andere kant , kunt u alleen rechtstreeks toegang tot de eerste en de laatste elementen , je moet doorlopen de lijst om toegang te krijgen tot andere elementen , dit kan erg traag voor grote lijsten formaat . Vectoren groeien dynamisch als items worden toegevoegd aan hen. Wanneer een vector groeit , het verdubbelt het aantal items kan bevatten . Dit kan dwingen de volledige vector te worden verplaatst naar een andere plek in het geheugen , dat kan worden computationeel . Lijsten niet nodig hebben om hun elementen aansluitend op te slaan in het geheugen , en kan dus een item groeien of krimpen in een tijd zonder ooit nodig om de hele lijst te kopiëren naar een nieuwe locatie . < Br > |