C++ Δυναμικοί Πίνακες

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
nif
Δημοσιεύσεις: 13
Εγγραφή: 27 Δεκ 2008 19:28

C++ Δυναμικοί Πίνακες

Δημοσίευση από nif » 23 Ιαν 2009 00:50

Έστω έχω έναν πίνακα int Χ θέσεων και θέλω τους αριθμούς του πίνακα που είναι μικρότεροι απο κάποια τιμή(πχ. 5) να τοποθετούνται σε έναν άλλο πίνακα που θα δημιουργείται δυναμικά.
πρέπει πρώτα να μετρήσω τα στοιχεία και να δημιουργήσω τον πίνακα μετα;
δηλαδή διατρέχω τον πίνακα βρίσκω τα στοιχεία(πχ 4) και δημιουργώ τον δυναμικό πίνακα

Κώδικας: Επιλογή όλων

int* array=new int[4];
ή μπορώ να τροποποιώ το μέγεθος του όπως γίνεται στην C με την realloc;δηλαδή κάθε φορά που βρίσκω στοιχείο το τοποθετώ αμέσως στον πίνακα.
ελπίζω να καταλαβαίνετε τι θέλω να πω.

Άβαταρ μέλους
unreal
Δημοσιεύσεις: 49
Εγγραφή: 04 Ιουν 2004 16:12
Τοποθεσία: Inside My Brain!

C++ Δυναμικοί Πίνακες

Δημοσίευση από unreal » 23 Ιαν 2009 11:43

realloc δεν υπάρχει στην C++.. μπρορείς να φτιάξεις μια δικιά σου που κάθε φορά που θές να μεγαλώσεις τον πίνακα θα φτιάχνει έναν άλλο πίνακα μεγαλύτερο κατα ένα θα αντιγράφει τα data και θα κάνει delete τον παλιό φτιάχνοντας στο τελος τους pointers φυσικά.
Μπορείς όμως να κάνεις use το std::vector που τα κάνει όλα αυτά για εσένα! :P

Άβαταρ μέλους
nif
Δημοσιεύσεις: 13
Εγγραφή: 27 Δεκ 2008 19:28

C++ Δυναμικοί Πίνακες

Δημοσίευση από nif » 23 Ιαν 2009 11:57

οκ.δηλαδή χωρίς χρήση vector και με την πατέντα αντιγραφής σε νέο πίνακα θα πρέπει απλά να διαβάζω αρκετές φορές τον πίνακα ανάλογα με το τι θέλω να κάνω.

lakritidis
Δημοσιεύσεις: 401
Εγγραφή: 04 Αύγ 2005 14:35
Τοποθεσία: Katerini
Επικοινωνία:

C++ Δυναμικοί Πίνακες

Δημοσίευση από lakritidis » 03 Φεβ 2009 18:20

Μπορείς να υλοποιήσεις μια dynamic data structure όπως η linked list ή ένα binary search tree, τα οποία σου επιτρέπουν insertion κάνοντας allocate μόνο τον κόμβο που εισαγεις και αλλάζοντας τις αναθέσεις των pointers.

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης