În primul rând, ne vom uita la ce este stiva și ce este coada individual și apoi vom discuta despre diferențele dintre stivă și coadă.
fișier deschis în java
Ce este o stivă?
O structură de date. În cazul unei matrice, accesul aleatoriu este posibil, adică orice element al unei matrice poate fi accesat în orice moment, în timp ce într-o stivă, accesul secvenţial este posibil doar. Este un container care urmează regula de inserare și ștergere. Urmează principiul LIFO (Ultimul intrat, primul ieşit) în care inserarea și ștergerea au loc dintr-o parte cunoscută sub numele de a top . În stivă, putem insera elementele unui tip de date similar, adică diferitele elemente de tip de date nu pot fi inserate în aceeași stivă. Cele două operații sunt efectuate în LIFO, adică Apăsaţi și pop Operațiune.
Următoarele sunt operațiunile care pot fi efectuate pe stivă:
În stivă, top este un indicator care este folosit pentru a urmări ultimul element inserat. Pentru a implementa stiva, ar trebui să știm dimensiunea stivei. Trebuie să alocăm memoria pentru a obține dimensiunea stivei. Există două moduri de a implementa stiva:
Ce este coada?
A
Asemănări între stivă și coadă.
Există două asemănări între stivă și coadă:
Atât stiva, cât și coada sunt structura de date liniară, ceea ce înseamnă că elementele sunt stocate secvenţial și accesate într-o singură rulare.
Atât stiva, cât și coada au dimensiuni flexibile, ceea ce înseamnă că pot crește și micșora în funcție de cerințele din timpul de execuție.
Diferențele dintre stivă și coadă
Următoarele sunt diferențele dintre stivă și coadă:
Baza pentru comparație | Grămadă | Coadă |
---|---|---|
Principiu | Urmează principiul LIFO (Last In- First Out), care implică faptul că elementul care este introdus ultimul ar fi primul care va fi șters. | Urmează principiul FIFO (First In -First Out), care implică faptul că elementul care este adăugat primul ar fi primul element care va fi eliminat din listă. |
Structura | Are un singur capăt de la care au loc atât inserarea, cât și ștergerea, iar acel capăt este cunoscut ca vârf. | Are două capete, adică capătul din față și din spate. Capătul din față este folosit pentru ștergere, în timp ce capătul din spate este folosit pentru inserare. |
Numărul de indicatoare utilizate | Conține un singur indicator cunoscut sub numele de indicator superior. Indicatorul de sus conține adresa ultimului element inserat sau cel mai de sus al stivei. | Conține două indicatori din față și din spate. Indicatorul din față conține adresa primului element, în timp ce indicatorul din spate deține adresa ultimului element dintr-o coadă. |
Operatii efectuate | Efectuează două operații, push și pop. Operația push inserează elementul într-o listă, în timp ce operația pop elimină elementul din listă. | Efectuează în principal două operații, pune la coadă și scoate la coadă. Operația de coadă realizează inserarea elementelor într-o coadă în timp ce operația de scoatere din coadă realizează ștergerea elementelor din coadă. |
Examinarea stării de gol | Dacă top==-1, ceea ce înseamnă că stiva este goală. | Dacă față== -1 sau față = spate+1, ceea ce înseamnă că coada este goală. |
Examinarea stării complete | Dacă top== max-1, această condiție implică faptul că stiva este plină. | Dacă rear==max-1, această condiție implică faptul că stiva este plină. |
Variante | Nu are niciun fel. | Este de trei tipuri, cum ar fi coada prioritară, coada circulară și coada dublă. |
Implementarea | Are o implementare mai simplă. | Are o implementare relativ complexă decât o stivă. |
Vizualizarea | O stivă este vizualizată ca o colecție verticală. | O coadă este vizualizată ca o colecție orizontală. |
dacă altfel dacă java