cpp:stl:map
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| cpp:stl:map [2020/05/31 08:25] – [H συνάρτηση operator[]] gthanos | cpp:stl:map [Unknown date] (current) – external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| Τα στοιχεία-κλειδιά αποθηκεύονται εσωτερικά σε ένα ισοζυγισμένο δέντρο αναζητήσεως (π.χ.[[wp> | Τα στοιχεία-κλειδιά αποθηκεύονται εσωτερικά σε ένα ισοζυγισμένο δέντρο αναζητήσεως (π.χ.[[wp> | ||
| - | Η κατάταξη ενός νέου στοιχείου-κλειδιού γίνεται πάντα μέσω σύγκρισης με τα υπόλοιπα στοιχεία που είναι αποθηκευμένα στην δομή. Για τον λόγο αυτό, απαραίτητη προϋπόθεση για τη λειτουργία του //map// (όπως και στο [[cpp: | + | Η κατάταξη ενός νέου στοιχείου-κλειδιού γίνεται πάντα μέσω σύγκρισης με τα υπόλοιπα στοιχεία που είναι αποθηκευμένα στην δομή. Για τον λόγο αυτό, απαραίτητη προϋπόθεση για τη λειτουργία του //map// (όπως και στο [[cpp: |
| <code cpp> | <code cpp> | ||
| Line 64: | Line 64: | ||
| void print(std:: | void print(std:: | ||
| for(auto it = s.cbegin(); it!=s.cend(); | for(auto it = s.cbegin(); it!=s.cend(); | ||
| - | std::cout << it-> | + | std::cout << it-> |
| } | } | ||
| Line 124: | Line 124: | ||
| std::string address_mm = students[ Student(" | std::string address_mm = students[ Student(" | ||
| | | ||
| - | std::cout << "Peter Pan aem: " << | + | std::cout << "Peter Pan address: " << |
| - | std::cout << "Minie Mouse aem: " << | + | std::cout << "Minie Mouse address: " << |
| } | } | ||
| </ | </ | ||
| Line 160: | Line 160: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | |||
| + | ==== H συνάρτηση at ==== | ||
| + | |||
| + | Η συνάρτηση [[http:// | ||
| + | |||
| + | === Παράδειγμα 1ο - Ανάγνωση με χρήση της συνάρτησης at === | ||
| + | |||
| + | <code cpp student_map_read_using_at.cpp> | ||
| + | #include <map> | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | #include " | ||
| + | |||
| + | int main() { | ||
| + | std:: | ||
| + | | ||
| + | std:: | ||
| + | | ||
| + | std:: | ||
| + | students.insert( peter_pan ); | ||
| + | students.insert( mickey_mouse ); | ||
| + | | ||
| + | std::string address_pp; | ||
| + | std::string address_mm; | ||
| + | | ||
| + | try { | ||
| + | address_pp = students.at(Student(" | ||
| + | } | ||
| + | catch(std:: | ||
| + | std::cout << " | ||
| + | } | ||
| + | | ||
| + | try { | ||
| + | address_mm = students.at(Student(" | ||
| + | } | ||
| + | catch(std:: | ||
| + | std::cout << " | ||
| + | } | ||
| + | | ||
| + | std::cout << "Peter Pan address: " << address_pp << std::endl; | ||
| + | std::cout << "Minie Mouse address: " << address_mm << std:: | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | === Παράδειγμα 2ο - Εγγραφή με χρήση της συνάρτησης at === | ||
| + | |||
| + | <code cpp student_map_write_using_at.cpp> | ||
| + | #include <map> | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | #include " | ||
| + | |||
| + | template< | ||
| + | void print(std:: | ||
| + | for(auto it = s.cbegin(); it!=s.cend(); | ||
| + | std::cout << it-> | ||
| + | } | ||
| + | |||
| + | int main() { | ||
| + | std:: | ||
| + | | ||
| + | std:: | ||
| + | | ||
| + | std:: | ||
| + | students.insert( peter_pan ); | ||
| + | students.insert( mickey_mouse ); | ||
| + | | ||
| + | try { | ||
| + | students.at( Student(" | ||
| + | } | ||
| + | catch(std:: | ||
| + | std::cout << " | ||
| + | } | ||
| + | try { | ||
| + | students.at( Student(" | ||
| + | } | ||
| + | catch(std:: | ||
| + | std::cout << " | ||
| + | } | ||
| + | | ||
| + | print(students); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
cpp/stl/map.1590913501.txt.gz · Last modified: 2020/05/31 07:25 (external edit)
