Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> C /C + + -programmering >> Content

    Skillnad mellan Vector & List i C + +

    The C + + Standard Template Library innehåller två likartade men ändå distinkt behållare : vektorn och listan . En vektor är en uppsättning av sekventiellt ordnade uppgifter som kan växa eller krympa dynamiskt , en lista är en uppsättning länkade objekt som inte nödvändigtvis är sekventiellt ordnade i minnet , men kan sekventiellt nås eftersom varje objekt har en länk till nästa objekt . Lära skillnaderna mellan vektor och listan kan hjälpa dig att skriva mer optimerade lösningar i C + + . Insertion Hastighet

    Uppgifterna av en vektor ordnas sekventiellt i minnet , vilket innebär att om du infogar ett objekt i början av en vektor måste varje objekt i Vector flyttas " ned " genom ett . Detta är beräkningsmässigt dyrt, särskilt för stora vektorer . Denna prestandaförlust kommer när ett objekt infogas eller tas bort från valfri plats utom det sista elementet i vektorn . Med en lista , är uppgifterna inte nödvändigtvis ordnade sekventiellt i minnet , utan innehåller varje objekt i listan en länk till nästa objekt i listan . När du sätter in en lista , kan objektet placeras var som helst i minnet , vilket gör att du sätter in en lista mycket billigare än att sätta in i en vektor .
    Sortering

    listan behållaren har en inbyggd slags funktion som gör att du kan sortera poster baserat på en givna kriterier . Vektorn , dock har inte denna inbyggda funktion , och därför måste du skriva sortering koden själv om du vill sortera en vektor .
    Random Access

    Listor har långsammare direktåtkomstskurar gånger än vektorer . I en vektor , kan ett element nås direkt med sitt index . Detta ger vektorn mycket snabb random access tid. Med en lista , å andra sidan , kan du bara direkt tillgång till den första och sista element , du måste iterera igenom listan för att komma åt andra delar , vilket kan vara mycket långsam för stora listor Addera storleksändring .

    vektorer växa dynamiskt som objekt läggs till dem . När en vektor växer , fördubblar det antalet objekt den kan innehålla . Detta kan tvinga hela vektorn som skall flyttas till en annan plats i minnet , som kan vara beräkningsmässigt dyrt. Listor behöver inte lagra sina element intill varandra i minnet , och kan därför växa eller krympa ett objekt i taget utan att någonsin behöva kopiera hela listan till en ny plats .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur får man ett antal objekt att peka på en variabel
    ·Hur man gör en grundläggande spelet i C + +
    ·Hur man använder Win32 GUI i C + +
    ·Hur Redigera Silverlight Datagrid
    ·Hur man skriver databasapplikationer med C #
    ·Hur ansluta C # till MS Excel
    ·Hur man gör Spike Borstar I GtkRadiant
    ·Hur Pass Mall structs funktioner i C
    ·Hur man gör ett projekt i Xcode Från en befintlig map…
    ·Hur man skapar SQLite med Zend Framework
    Utvalda artiklarna
    ·Hur köra en Python fil som EXE Med Python 3
    ·Hur Uppdatera TabHost innehåll på en Android
    ·Hur man gör en include
    ·Överbelastning Metoder i Java
    ·Hur man skickar data i MySQL med PHP
    ·Hur ta reda på vad C funktioner finns i GCC i Cygwin
    ·Hur man skriver ett Shell Script bort filer
    ·Hur man uppgraderar från Python 2,5-2,6
    ·Kindle : HTML Specifikationer
    ·Hur man hittar en Array String Cell i MATLAB
    Copyright © Dator Kunskap http://www.dator.xyz