standard template library
Μια πλήρης επισκόπηση της τυπικής βιβλιοθήκης προτύπων (STL):
Η τυπική βιβλιοθήκη προτύπων (STL) του C ++ είναι μια συλλογή κλάσεων προτύπων που παρέχουν δομές δεδομένων όπως πίνακες, διανύσματα, ουρές κ.λπ. Το STL είναι μια βιβλιοθήκη που αποτελείται από κοντέινερ, αλγόριθμους και επαναληπτικούς.
Καθώς το STL αποτελείται από μια συλλογή προτύπων τάξεων, είναι μια γενικευμένη βιβλιοθήκη που είναι ανεξάρτητη από τους τύπους δεδομένων.
=> Διαβάστε τη σειρά Εκπαιδευτικών Εκπαιδευτικών Εκπαιδευτικών Σειρών Εδώ.
Τι θα μάθετε:
πώς να φτιάξετε μια σειρά από χορδές
Συστατικά του STL
Το STL αποτελείται κυρίως από τα ακόλουθα στοιχεία που αναφέρονται παρακάτω:
# 1) Εμπορευματοκιβώτια
Ένα κοντέινερ είναι μια συλλογή αντικειμένων ενός συγκεκριμένου τύπου δομής δεδομένων. Στο STL, έχουμε διάφορους τύπους τάξεων κοντέινερ όπως Array, vector, queue, deque, list, map, set κ.λπ. Αυτά τα κοντέινερ είναι γενικής φύσης και εφαρμόζονται ως πρότυπα κλάσης.
Τα εμπορευματοκιβώτια είναι δυναμικής φύσης και μπορούν να χρησιμοποιηθούν για τη συγκράτηση διαφόρων τύπων αντικειμένων.
# 2) Αλγόριθμοι
Οι αλγόριθμοι είναι οι μέθοδοι ή οι λειτουργίες που δρουν στα δοχεία. Χρησιμοποιώντας αλγόριθμους που παρέχονται από το STL, μπορούμε να έχουμε μεθόδους για αναζήτηση, ταξινόμηση, τροποποίηση, μετατροπή ή αρχικοποίηση του περιεχομένου των αντικειμένων κλάσης κοντέινερ.
Οι αλγόριθμοι που παρέχονται από το STL έχουν ενσωματωμένες συναρτήσεις που μπορούν να λειτουργήσουν άμεσα σε σύνθετη δομή δεδομένων αντί να πρέπει να γράψουμε οι ίδιοι τους αλγόριθμους.
Για παράδειγμα, Η λειτουργία reverse () στο STL μπορεί να χρησιμοποιηθεί για την αντιστροφή της συνδεδεμένης λίστας.
# 3) Επαναληπτές
Οι επαναληπτές είναι το πολύ σημαντικό και διακριτικό χαρακτηριστικό του STL. Οι επαναληπτές είναι οι κατασκευές που χρησιμοποιούνται για να διασχίζουν τα αντικείμενα του περιέκτη. Παρόμοια με τα ευρετήρια που χρησιμοποιούμε για να περάσουμε από τις συστοιχίες, οι επαναληπτές ενεργούν σε αντικείμενα κλάσης κοντέινερ και μπορούν να χρησιμοποιηθούν για να περάσουν τα δεδομένα.
Εμπορευματοκιβώτια
Τα κοντέινερ αποθηκεύουν αντικείμενα και δεδομένα. Βασικά βασίζονται σε πρότυπα γενικές τάξεις.
Τα εμπορευματοκιβώτια στο STL χωρίζονται στους ακόλουθους τύπους:
πού μπορώ να βρω το κλειδί ασφαλείας δικτύου
# 1) Διαδοχικά εμπορευματοκιβώτια
Τα εμπορευματοκιβώτια στα οποία μπορεί να προσπελαστεί με διαδοχικό ή γραμμικό τρόπο λέγονται ότι είναι διαδοχικά δοχεία.
Οι συστοιχίες, τα διανύσματα, οι λίστες, τα Deques είναι τα κοντέινερ STL που αποθηκεύουν δεδομένα γραμμικά και μπορούν να προσεγγιστούν με διαδοχικό τρόπο.
# 2) Συνεργατικά εμπορευματοκιβώτια
Τα συσχετιζόμενα κοντέινερ είναι κοντέινερ που εφαρμόζουν ταξινομημένες δομές δεδομένων. Αυτά τα κοντέινερ αναζητούν γρήγορα. Κάποια από τα Παραδείγματα των συσχετιζόμενων κοντέινερ είναι Map, Set, MultiMap, Multiset κ.λπ. Αυτά τα κοντέινερ εφαρμόζονται συνήθως με τρόπο ζεύγους κλειδιών / τιμών.
# 3) Υιοθετεί κοντέινερ
Οι υιοθετητές κοντέινερ είναι διαδοχικά κοντέινερ, ωστόσο, εφαρμόζονται παρέχοντας μια διαφορετική διεπαφή. Έτσι, κοντέινερ όπως ουρά, deque, stack και προτεραιότητα-ουρά ταξινομούνται ως υιοθετητές κοντέινερ.
Επαναληπτές
Οι επαναληπτές είναι κατασκευές που χρησιμοποιούμε για να διασχίσουμε ή να περάσουμε από κοντέινερ στο STL. Οι επαναληπτές είναι πολύ σημαντικοί στο STL καθώς λειτουργούν ως γέφυρα μεταξύ αλγορίθμων και κοντέινερ. Οι επαναληπτές πάντοτε δείχνουν σε κοντέινερ και στην πραγματικότητα αλγόριθμους, λειτουργούν σε επαναληπτικά και ποτέ απευθείας σε κοντέινερ.
Οι επαναληπτές έχουν τους ακόλουθους τύπους:
- Επαναληπτές εισόδου: Απλούστερη και χρησιμοποιείται κυρίως σε αλγόριθμους μίας διέλευσης.
- Επαναληπτές εξόδου: Ίδιο με τους επαναληπτές εισόδου αλλά δεν χρησιμοποιείται για διέλευση.
- Αμφίδρομοι Επαναληπτές: Αυτοί οι επαναληπτικοί μπορούν να κινηθούν και προς τις δύο κατευθύνσεις.
- Εμπρός Επαναληπτές: Μπορεί να χρησιμοποιηθεί μόνο προς τα εμπρός, ένα βήμα τη φορά.
- Επαναληπτές τυχαίας πρόσβασης: Ίδιο με δείκτες. Μπορεί να χρησιμοποιηθεί για πρόσβαση σε οποιοδήποτε στοιχείο τυχαία.
Αλγόριθμοι
Οι αλγόριθμοι είναι ένα σύνολο συναρτήσεων ή μεθόδων που παρέχονται από το STL και δρουν σε δοχεία. Αυτές είναι ενσωματωμένες συναρτήσεις και μπορούν να χρησιμοποιηθούν απευθείας με τα κοντέινερ STL και επαναληπτικά αντί να γράφουμε τους δικούς μας αλγόριθμους.
Το STL υποστηρίζει τους ακόλουθους τύπους αλγορίθμων:
- Αναζήτηση αλγορίθμων
- Αλγόριθμοι ταξινόμησης
- Τροποποίηση ή χειρισμός αλγορίθμων
- Μη τροποποιητικοί αλγόριθμοι
- Αριθμητικοί αλγόριθμοι
- Ελάχιστοι / Max αλγόριθμοι
Όπως προτείνει καθένας από τους τύπους αλγορίθμων, αυτοί οι αλγόριθμοι μπορούν να χρησιμοποιηθούν για την επίτευξη διαφορετικής λειτουργικότητας σε κοντέινερ STL, όπως αναζήτηση, ταξινόμηση, μετατροπή των δεδομένων στα κοντέινερ, εύρεση ελάχιστης / μέγιστης τιμής κ.λπ.
συμπέρασμα
Αυτή είναι η σύντομη εισαγωγή της Βασικής Βιβλιοθήκης Πρότυπων. Στα επερχόμενα σεμινάρια μας, θα μάθουμε περισσότερα για κάθε ένα από τα κοντέινερ, τους αλγόριθμους και τους επαναληπτικούς.
=> Δείτε την πλήρη σειρά εκπαιδευτικών C ++ εδώ.