Vektor i popis

Anonim

Vektor vs popis

Često zbunjujući programerima, vektori i popisi su sekvenci koji se koriste u skupinama polja u C + + i Java. Dva izraza sadrže adrese polja, ali s različitim načinima držanja polja. Osnovna stvar koju moramo znati jest da je polje "popis" koji sadrži neke ili sve podatke, tj. Cijele brojeve, plutajuće točke ili znakove i definirano je u zagradi "[]." Zapravo, vektori i popisi djeluju prema primjerima. Zato pogledajmo ta dva pojma jedan po jedan.

vektori Vektori se upotrebljavaju u nizu pridržavanja i pristupa elementima. Ovdje možete pristupiti bilo kojem elementu slučajno pomoću "[]" operatora. Tako postaje lako proučiti sve elemente ili jedan specifičan element s radom vektora. Dakle, ako na kraju, bilo u početku ili u sredini, umetnete bilo koji objekt, tada vektori imaju plus točku jer možete pristupiti nasumičnoj adresi i napraviti promjene tamo. Međutim, vektori su malo sporiji u odnosu na objekte popisa. Vektori se smatraju sinkroniziranim objektima, učinkoviti u slučajnom pristupu i ispravno drže podatke sinkroniziranim popisom. Vektor je odabran kada nema potrebe za umetanjem ili brisanjem u sredinu (popis) ili s prednje strane. Broj elemenata u nizu može se dramatično razlikovati. Primjer: vektor V; V.insert (V.begin (3); tvrditi (V.size () == 1 && vcapacity ()> = 1 && V [0] == 3);

arena Popisi su "dvostruki povezani slijedovi" koji podupiru i naprijed i natrag. Vrijeme potrebno za umetanje i brisanje na početku, kraju i na sredini je konstantno. Umetanje i spajanje između povezanih popisa ne poništava nikakvu iteraciju u elementima. Samo uklanjanje nevaljuje iteraciju. Nisu sinkronizirani tako da nisu slučajno dostupni. Naručivanje iteracija može se mijenjati prema korisniku, ali to ne utječe na promjene u elementima. Oni su brži od vektora i idealni su za umetanje i brisanje na početku, sredini i kraju popisa elemenata.

Primjer: #include // popis definicija predloška klase …. int main () { int polje [4] = {2, 6, 4, 8}; std:: list <int> vrijednosti; std:: popis <int> otherValues;

Sažetak: 1. Popis nije sinkroniziran dok je vektor. 2. Popisi nemaju zadanu veličinu dok vektor ima zadanu veličinu od 10. 3. Popisi i vektori su dinamički rastući nizovi. 4. Popis nije siguran niti dok je vektor siguran nit. 5. Popisi, kako se primjenjuju samo na dodavanje i brisanje na prednjoj i stražnjoj strani, brže su vektori uzimaju više CPU-a. 6. Vektor raste svojom veličinom dvaput dok se popis smanjuje na pola, tj. 50 posto.