Vektor vs Popis
Programeri, vektori i popisi često su zbunjujući nizovi koje se koriste u posjedu nizova u C ++ i Javi. Dva pojma sadrže adrese matrice, ali s različitim metodama zadržavanja nizova.
Osnovno što moramo znati jest da je niz „popis“ koji sadrži neke ili sve podatke, tj., Cijeli broj, plutajuće točke ili znakove i definiran je u zagradama „[].“
Zapravo, vektori i popisi djeluju prema instancama. Dakle, pogledajmo ova dva pojma jedan po jedan.
vektori
Vektori se koriste u držanju polja i pristupima elementima. Ovdje možete pristupiti bilo kojem elementu nasumično pomoću operatora "[]". Stoga je lako vektorski operacijom pregledati sve elemente ili jedan određeni element. Dakle, ako umetnete bilo koji objekt na kraju, u početku ili u sredinu, onda vektori imaju i plus točku jer možete pristupiti slučajnoj adresi i tamo izvršiti promjene. No vektori su malo spori u odnosu na popisne objekte. Vektori se smatraju sinkroniziranim objektima, učinkovitim u slučajnom pristupu i pravilno drže podatke s sinkroniziranim popisom. Vektor se odabire kad god nema potrebe za umetanjem ili brisanjem u
sredinom (popis) ili s prednje strane.
Broj elemenata u nizu može se drastično razlikovati.
Primjer:
vektor V;
V.insert (V.begin (), 3);
ustvrditi (V.size () == 1 && V.kapacitet ()> = 1 && V [0] == 3);
arena
Popisi su "dvostruko povezani nizovi" koji podržavaju pomicanje prema naprijed i nazad. Vrijeme umetanja i brisanja na početku, u kraju i u sredini je konstantno. Umetanje i spajanje između povezanih lista ne poništavaju nijednu iteraciju u elementima. Samo uklanjanje poništava ponavljanje. Nisu sinkronizirane, pa nisu dostupne nasumično. Redoslijed iteracija može se mijenjati ovisno o korisniku, ali ne utječe na promjene u elementima. Brži su od vektora i idealni su za umetanje i brisanje na početku, u sredini i na kraju popisa elemenata.
Primjer:
#include
// popis definicije klase-predloška
... .
int main ()
int niz [4] = 2, 6, 4, 8;
std: popisne vrijednosti;
std: nabrojite ostale vrijednosti;
Sažetak:
1. Popis se ne sinkronizira dok je vektor.
2. Popisi nemaju zadanu veličinu dok vektor ima zadanu veličinu 10.
3. Popisi i vektori su dinamički rastući nizovi.
4. Popis nije siguran na niti, a vektor je siguran.
5. Popisi, jer se primjenjuju samo na dodavanje i brisanje sprijeda i straga, brži su
vektori uzimaju više CPU-a.
6. Vektor raste po svojoj veličini dvostruko, dok se lista smanjuje na polovicu, tj. 50 posto.