cpp:stl:container_common_functions
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
cpp:stl:container_common_functions [2021/06/08 07:28] – [Β. Ένθεση σε set] gthanos | cpp:stl:container_common_functions [2023/05/30 19:18] (current) – [Αναζήτηση σε associative container και unordered associative container] gthanos | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Κοινές συναρτήσεις για όλους τους containers ====== | + | ====== Κοινές συναρτήσεις για |
===== Εισαγωγή στοιχείου ===== | ===== Εισαγωγή στοιχείου ===== | ||
- | Με εξαίρεση την κλάση [[array|std:: | + | Με εξαίρεση την κλάση [[array|std:: |
Παραδείγματα: | Παραδείγματα: | ||
- | ==== A. Ένθεση | + | ==== A. Ένθεση στους sequence_containers list, forward_list, |
Σε ένα //sequence container// είναι υποχρεωτικό να προσδιορίσουμε τη θέση εισαγωγής του στοιχείου μέσω ενός // | Σε ένα //sequence container// είναι υποχρεωτικό να προσδιορίσουμε τη θέση εισαγωγής του στοιχείου μέσω ενός // | ||
Line 40: | Line 40: | ||
</ | </ | ||
- | ==== Β. Ένθεση σε set ==== | + | <WRAP tip 80% center round> |
+ | Η διαφορά ανάμεσα στις μεθόδους //insert// και //emplace// είναι η εξής: | ||
+ | * Στη μέθοδο //insert// παρέχουμε ένα αντικείμενο και η μέθοδος κατασκευάζει ένα αντίγραφο του μέσω του κατασκευαστή αντιγραφέα (copy-constructor) της κλάσης // | ||
+ | * Στη μέθοδο //empace// παρέχουμε τα ορίσματα μέσω των οποίων κατασκευάζεται ένα αντικείμενο τύπου Student, μέσω του κατασκευαστή '' | ||
+ | </ | ||
+ | |||
+ | ==== Β. Ένθεση σε set, unordered | ||
Σε ένα // | Σε ένα // | ||
Line 53: | Line 59: | ||
Student students[] = { Student(" | Student students[] = { Student(" | ||
| | ||
- | std::cerr << "----- Init list -----" << std:: | + | std::cerr << "----- Init set -----" << std:: |
- | std:: | + | std:: |
for(int i=0; i<2; i++) { | for(int i=0; i<2; i++) { | ||
- | | + | |
- | | + | |
} | } | ||
| | ||
- | | + | |
| | ||
std::cerr << " | std::cerr << " | ||
- | std::cerr << "mylist | + | std::cerr << "myset contains:"; |
- | for (std:: | + | for (std:: |
std::cerr << ' ' << *it; | std::cerr << ' ' << *it; | ||
std::cerr << std::endl; | std::cerr << std::endl; | ||
Line 115: | Line 121: | ||
return 0; | return 0; | ||
+ | } | ||
</ | </ | ||
Line 258: | Line 265: | ||
std:: | std:: | ||
std:: | std:: | ||
- | | + | |
// unordered_set some initial values: | // unordered_set some initial values: | ||
Line 269: | Line 276: | ||
if(it != myset.end()) { | if(it != myset.end()) { | ||
myset.erase (it); | myset.erase (it); | ||
- | std::cout << "' | + | std::cout << "' |
} | } | ||
else | else | ||
- | std::cout << "' | + | std::cout << "' |
| | ||
print_set(myset); | print_set(myset); | ||
Line 306: | Line 313: | ||
int main () { | int main () { | ||
- | vector< | + | vector< |
array< | array< | ||
- | |||
- | v.assign(a.begin()+1, | ||
| | ||
+ | | ||
+ | /* Assigns 20, 30, 40, 50 | ||
+ | */ | ||
+ | v.assign(a.begin()+1, | ||
+ | // | ||
+ | // | ||
print(v); | print(v); | ||
} | } | ||
Line 316: | Line 327: | ||
<WRAP tip 80% center round> | <WRAP tip 80% center round> | ||
- | H συνάρτηση //assign// διαγράφει τα υφιστάμενα περιεχόμενα του // | + | H συνάρτηση //assign// διαγράφει τα υφιστάμενα περιεχόμενα του // |
</ | </ | ||
- | |||
- |
cpp/stl/container_common_functions.1623137326.txt.gz · Last modified: 2021/06/08 06:28 (external edit)