cpp:stl:vector
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
cpp:stl:vector [2020/05/29 11:34] – [Επίδοσης της δομής] gthanos | cpp:stl:vector [2021/06/06 21:07] – [Ένθεση στον πίνακα] gthanos | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== std::vector ====== | ====== std::vector ====== | ||
- | Πρόκειται για μία δομή πίνακα του οποίου η χωρητικότητα μεταβάλλεται δυναμικά με βάση τις ανάγκες αποθήκευσης του προγράμματος. Η παρακάτω εικόνα είναι ενδεικτική της υφιστάμενης δομής δεδομένω που περιγράφει ένα //vector//. Παρατηρήστε ότι η χωρητικότητα ενός vector μπορεί να είναι μεγαλύτερη από τον αριθμό των αποθηκευμένων στοιχείων του. | + | Πρόκειται για μία δομή πίνακα του οποίου η χωρητικότητα μεταβάλλεται δυναμικά με βάση τις ανάγκες αποθήκευσης του προγράμματος. Η παρακάτω εικόνα είναι ενδεικτική της υφιστάμενης δομής δεδομένων που περιγράφει ένα //vector//. Παρατηρήστε ότι η χωρητικότητα ενός |
{{ : | {{ : | ||
- | |||
- | **Σημείωση: | ||
- | |||
===== Επίδοσης της δομής ===== | ===== Επίδοσης της δομής ===== | ||
Line 12: | Line 9: | ||
* Η πράξη της ένθεσης ή της διαγραφής από το μέσο ή την αρχή του πίνακα συνεπάγεται την μετακίνηση όλων των στοιχείων που βρίσκονται δεξιότερα κατά μία θέση και η επίδοση της εξαρτάται από την θέση της ένθεσης ή της διαγραφής σε σχέση με το τέλος του πίνακα. Ο επιμερισμένος χρόνος της συγκεκριμένης πράξης είναι γραμμικός στο μέγεθος των αποθηκευμένων στοιχείων του πίνακα **(Ο(Ν))**. | * Η πράξη της ένθεσης ή της διαγραφής από το μέσο ή την αρχή του πίνακα συνεπάγεται την μετακίνηση όλων των στοιχείων που βρίσκονται δεξιότερα κατά μία θέση και η επίδοση της εξαρτάται από την θέση της ένθεσης ή της διαγραφής σε σχέση με το τέλος του πίνακα. Ο επιμερισμένος χρόνος της συγκεκριμένης πράξης είναι γραμμικός στο μέγεθος των αποθηκευμένων στοιχείων του πίνακα **(Ο(Ν))**. | ||
* Η πράξη της αναζήτησης είναι γραμμική στο μέγεθος των στοιχείων του πίνακα **(Ο(Ν))**. | * Η πράξη της αναζήτησης είναι γραμμική στο μέγεθος των στοιχείων του πίνακα **(Ο(Ν))**. | ||
- | * Η πρόσβαση στο i-στο στοιχείο της λίστας έχει κόστος 1. | + | * Η πρόσβαση στο i-στο στοιχείο του πίνακα έχει κόστος 1. |
===== Πρόσβαση στα στοιχεία του πίνακα ===== | ===== Πρόσβαση στα στοιχεία του πίνακα ===== | ||
Line 25: | Line 22: | ||
int main () { | int main () { | ||
vector< | vector< | ||
- | cout << "size: " << v.size() << endl; | + | cout << " |
- | cout << "capa: " << v.capacity() << endl; | + | cout << "capacity: " << v.capacity() << endl; |
try { | try { | ||
Line 99: | Line 96: | ||
</ | </ | ||
- | Παρατηρήστε ότι κάθε φορά που γεμίζει ο πίνακας (δηλαδή size()==capacity()), | + | Παρατηρήστε ότι κάθε φορά που γεμίζει ο πίνακας (δηλαδή size()==capacity()), |
===== Διαγραφή των περιεχομένων του πίνακα ===== | ===== Διαγραφή των περιεχομένων του πίνακα ===== |
cpp/stl/vector.txt · Last modified: 2023/05/29 19:12 by gthanos