Razlika između nizova i nizova

Razlika između nizova i nizova
Razlika između nizova i nizova

Video: Razlika između nizova i nizova

Video: Razlika između nizova i nizova
Video: Hello world | пример ассемблер | Ubuntu Unix Linux 2024, Juli
Anonim

Nizovi vs liste nizova

Nizovi su najčešće korištena struktura podataka za pohranjivanje kolekcije elemenata. Većina programskih jezika pruža metode za jednostavno deklarisanje nizova i pristup elementima u nizovima. Lista nizova se može posmatrati kao dinamički niz, koji može rasti u veličini. Iz tog razloga, programer ne mora znati veličinu liste nizova kada je definira.

Šta su nizovi?

Prikazan na slici 1, je dio koda koji se obično koristi za deklariranje i dodjelu vrijednosti nizu. Slika 2 prikazuje kako bi niz izgledao u memoriji.

int values[5];

values[0]=100;

values[1]=101;

values[2]=102;

values[3]=103;

values[4]=104;

Slika 1: Kod za deklarisanje i dodeljivanje vrednosti nizu

100 101 102 103 104
Indeks: 0 1 2 3 4

Slika 2: Niz pohranjen u memoriji

Iznad koda, definira niz koji može pohraniti 5 cijelih brojeva i pristupa im se pomoću indeksa od 0 do 4. Jedno važno svojstvo niza je da se cijeli niz dodjeljuje kao jedan blok memorije i svaki element dobija svoj vlastiti prostor u nizu. Jednom kada je niz definiran, njegova veličina je fiksna. Dakle, ako niste sigurni u veličinu niza u vrijeme kompajliranja, morali biste definirati dovoljno veliki niz da bude na sigurnoj strani. Ali, većinu vremena, zapravo ćemo koristiti manji broj elemenata nego što smo dodijelili. Dakle, značajna količina memorije je zapravo izgubljena. S druge strane, ako "dovoljno veliki niz" nije dovoljno velik, program bi se srušio.

Šta su nizovi?

Lista nizova se može posmatrati kao dinamički niz, koji može rasti u veličini. Stoga su liste nizova idealne za korištenje u situaciji u kojoj ne znate veličinu elemenata potrebnih u trenutku deklaracije. U Javi, nizovi mogu držati samo objekte, ne mogu držati primitivne tipove direktno (možete staviti primitivne tipove unutar objekta ili koristiti klase omotača primitivnih tipova). Općenito, liste nizova imaju metode za izvođenje umetanja, brisanja i pretraživanja. Vremenska složenost pristupa elementu je o(1), dok umetanje i brisanje ima vremensku složenost od o(n). U Javi, nizove se mogu preći koristeći foreach petlje, iteratora ili jednostavno koristeći indekse.

Koja je razlika između nizova i nizova

Iako su nizovi i liste nizova slični u smislu da se oba koriste za pohranjivanje kolekcija elemenata, razlikuju se po načinu na koji su definirani. Veličina niza se mora dati kada je niz definiran, ali možete definirati listu nizova bez poznavanja stvarne veličine. Možete dodati elemente u listu nizova nakon što je definirana, a to nije moguće s nizovima. Ali u Javi, nizovi ne mogu sadržavati primitivne tipove, ali se nizovi mogu koristiti za držanje primitivnih tipova. Ali ako vam je potrebna struktura podataka koja može varirati svoju veličinu, arraylist bi bio najbolji izbor.

Preporučuje se: