set stl
Μάθετε γρήγορα το SET In STL με απλά παραδείγματα.
Θα ρίξουμε μια εις βάθος ματιά στο κοντέινερ STL - Σετ, εδώ σε αυτό το σεμινάριο. Τα σύνολα είναι συσχετιστικά κοντέινερ με μοναδικά στοιχεία σε μια συγκεκριμένη σειρά.
Η τιμή ενός στοιχείου στο σύνολο είναι επίσης το κλειδί που χρησιμοποιείται για πρόσβαση σε αυτό. Όλα τα στοιχεία του σετ πρέπει να είναι μοναδικά. Δεν μπορούμε να τροποποιήσουμε τα στοιχεία στο σύνολο μόλις εισαχθούν. Ωστόσο, μπορούμε να εισαγάγουμε ή να διαγράψουμε τα στοιχεία.
=> Δείτε εδώ για πλήρη σειρά εκπαιδευτικών C ++ ΔΩΡΕΑΝ.
Τι θα μάθετε:
ΡΥΘΜΙΣΗ ΣΤΟ STL
Για να εφαρμόσουμε το σύνολο, πρέπει να συμπεριλάβουμε την κεφαλίδα στο πρόγραμμά μας.
πώς να ανοίξετε αρχεία bin στα Windows 8
#include
Μπορούμε να δηλώσουμε ένα σετ ως εξής:
set myset;
Για παράδειγμα,αν θέλουμε ένα σετ, myset ενός στοιχείου με ακέραιο τύπο, τότε μπορούμε να δηλώσουμε το σετ ως:
set myset;
Λειτουργίες στο σετ
Το κοντέινερ σετ υποστηρίζει επίσης παρόμοιες λειτουργίες όπως έναν χάρτη που έχουμε ήδη συζητήσει. Ακολουθούν μερικές από τις βασικές λειτουργίες που υποστηρίζονται από το σετ.
- να αρχίσει : Επιστρέφει τον επαναληπτικό στο πρώτο στοιχείο του συνόλου.
- τέλος : Επιστρέφει τον επαναληπτικό στο στοιχείο που ακολουθεί το τελευταίο στοιχείο του συνόλου.
- εισάγετε : Εισάγει ένα νέο στοιχείο στο σύνολο.
Η λειτουργία εισαγωγής για το σετ έχει τρεις παραλλαγές:
-
-
- ένθετο (στοιχείο): Αυτό εισάγει απευθείας το στοιχείο στο σετ και αναδιατάσσει το σετ.
- ένθετο (θέση, υπόδειξη): Εδώ, καθορίζουμε τη θέση εισαγωγής του στοιχείου.
- εισαγωγή (iterator.begin (), iterator.end ()): Σε αυτήν την παραλλαγή, μπορούμε να εισαγάγουμε απευθείας το εύρος στο σύνολο όπως ένας πίνακας ή ένα άλλο σύνολο.
-
- εξάλειψη : Αφαιρεί ένα στοιχείο από το σετ.
- Μέγεθος : Επιστρέφει το μέγεθος του σετ.
- μέγιστο μέγεθος : Επιστρέφει το μέγιστο μέγεθος που μπορεί να διατηρήσει το σετ.
- αδειάζω : Επιστρέφει εάν το σετ είναι κενό.
- Σαφή : Αφαιρεί όλα τα στοιχεία από το σετ.
- εύρημα : Βρίσκει ένα στοιχείο στο σύνολο. Εάν βρεθεί ένα στοιχείο, επιστρέφει τον επαναληπτικό σε αυτό το στοιχείο στο σύνολο. Εάν δεν βρεθεί, επιστρέφει έναν επαναληπτικό στο τέλος του συνόλου.
Δίνεται παρακάτω ένα πρόγραμμα που δείχνει τη χρήση ορισμένων σημαντικών λειτουργιών του SET.
#include #include #include using namespace std; int main() { set myset; myset.insert(140); myset.insert(130); myset.insert(160); myset.insert(120); cout<<'
Size of myset: '< Παραγωγή:
Μέγεθος myset: 4
Το σετ myset είναι: 120 130 140 160
Μετά την εισαγωγή του 100, το σετ myset είναι: 100 120 130 140 160
Μετά την εισαγωγή της συστοιχίας arr, το σύνολο myset είναι: 100 110 120 130 140 150 160
Μετά την αφαίρεση στοιχείων κάτω των 130, myset: 130 140 150 160

Όπως φαίνεται στην παραπάνω έξοδο, δημιουργούμε ένα σετ χρησιμοποιώντας μια απλή λειτουργία εισαγωγής.
Στη συνέχεια, εισάγουμε το στοιχείο 100 στο σύνολο χρησιμοποιώντας μια άλλη παραλλαγή της συνάρτησης εισαγωγής περνώντας την επανάληψη αναφοράς και την τιμή του στοιχείου 100. Βλέπουμε ότι μόλις ολοκληρωθεί το ένθετο, το σετ αναδιατάσσεται και διατηρείται η σειρά των στοιχείων.
Στη συνέχεια εισάγουμε έναν πίνακα {110.150.150} χρησιμοποιώντας τη συνάρτηση εισαγωγής. Εάν δείτε την έξοδο του συνόλου να εμφανίζεται μετά την εισαγωγή ενός πίνακα, βλέπουμε ότι μόνο μία τιμή 150 εισάγεται στο σύνολο. Αυτό συμβαίνει επειδή όλα τα στοιχεία του σετ είναι μοναδικά.
ποια υπηρεσία email πρέπει να χρησιμοποιήσω
Εμφανίζουμε επίσης το μέγεθος του σετ. Στη συνέχεια, χρησιμοποιώντας τη λειτουργία εύρεσης βρίσκουμε τα στοιχεία που είναι μικρότερα από 130 και στη συνέχεια καλούμε τη λειτουργία διαγραφής για να αφαιρέσουμε αυτά τα στοιχεία. Στη συνέχεια προβάλλουμε το σύνολο που προέκυψε.
Όλα αυτά αφορούν το σετ κοντέινερ. Στη συνέχεια, θα συζητήσουμε το πολλαπλό σύνολο ποια επέκταση του κοντέινερ έχει οριστεί.
Πολλαπλά σετ
Ένα πολλαπλό σύνολο είναι ένα συσχετιστικό κοντέινερ παρόμοιο με το σύνολο σε όλες τις πτυχές εκτός από μία διαφορά, δηλαδή πολλά στοιχεία μπορούν να έχουν την ίδια τιμή.
Η δήλωση για πολλαπλά σύνολα έχει ως εξής:
multiset mset;
Ένα πολλαπλό σύνολο ακέραιων στοιχείων μπορεί να δηλωθεί ως:
mset πολλαπλών συνόλων;
Διάφορες λειτουργίες που υποστηρίζονται από πολλαπλά σύνολα είναι παρόμοιες με αυτές που υποστηρίζονται από το σετ.
Τώρα θα συζητήσουμε άμεσα ένα παράδειγμα πολλών συνόλων που δείχνει τη λειτουργία που χρησιμοποιεί.
#include #include #include using namespace std; int main() { multiset myset; myset.insert(11); myset.insert(13); myset.insert(13); myset.insert(10); cout<<'
Size of myset: '< Παραγωγή:
Μέγεθος myset: 4
Μετά την εισαγωγή τεσσάρων στοιχείων, το myset πολλαπλών συνόλων είναι: 10 11 13
13
Μετά την εισαγωγή του 15, το myset πολλαπλών συνόλων είναι: 10 11 13 13 15
Μετά την αφαίρεση στοιχείων κάτω των 15, myset: 15
Το στιγμιότυπο οθόνης της εξόδου δίνεται παρακάτω:

Όπως φαίνεται στην παραπάνω έξοδο, αρχικά εισάγουμε τέσσερα στοιχεία στο πολλαπλό σύνολο από τα οποία δύο είναι ίδια. Αλλά σε αντίθεση με ένα σετ, αυτά τα στοιχεία εισάγονται με επιτυχία στο πολλαπλό σύνολο. Στη συνέχεια εισάγουμε ένα άλλο στοιχείο 15 παρέχοντας θέση μέσω ενός επαναληπτικού, το οποίο εισάγεται με επιτυχία.
Στη συνέχεια, βρίσκουμε στοιχεία λιγότερα από 15 στη συνάρτηση πολλαπλών συνόλων και διαγραφής κλήσεων σε αυτά τα στοιχεία. Τέλος, προβάλλουμε το πολλαπλό σύνολο.
Απεριόριστο σύνολο
Μέχρι στιγμής έχουμε συζητήσει σετ και πολλαπλά σετ σε αυτό το σεμινάριο.
Ενώ το σετ είναι μια σειρά με σειρά μοναδικών κλειδιών, έχουμε ένα άλλο συσχετιστικό κοντέινερ που ονομάζεται 'μη ταξινομημένο σετ' το οποίο είναι ένα σύνολο κλειδιών ή στοιχείων που αποθηκεύονται με οποιαδήποτε σειρά. Αυτό σημαίνει ότι τα στοιχεία στο σύνολο χωρίς διάταξη είναι «μη ταξινομημένα».
Παρόμοια με έναν χάρτη χωρίς διάταξη, το σύνολο χωρίς διάταξη εφαρμόζεται επίσης χρησιμοποιώντας έναν πίνακα κατακερματισμού όπου τα κλειδιά κατακερματιστούν σε δείκτες του πίνακα κατακερματισμού. Λόγω της χρήσης ενός πίνακα κατακερματισμού, δεν είναι δυνατόν να διατηρηθεί η σειρά των στοιχείων σε αντίθεση με το σύνολο που χρησιμοποιεί μια ισορροπημένη δομή δέντρου.
Η κεφαλίδα για την υλοποίηση του μη ταξινομημένου συνόλου είναι.
#include
Δηλώνουμε έναν μη ταξινομημένο χάρτη ακέραιου τύπου ως εξής:
Unordered_set uset;
Οι λειτουργίες που υποστηρίζονται από το unordered_set είναι παρόμοιες με αυτές που υποστηρίζονται από το unordered_map, η οποία συζητείται στα σεμινάριά μας στο χάρτη.
Δίνεται παρακάτω ένα παράδειγμα που δείχνει τις διάφορες λειτουργίες στο unordered_set.
#include #include using namespace std; int main() { unordered_set uset; unordered_set :: iterator it; for(int i=0;i<5;i++){ uset.insert(i+2); } cout<<'
Size of uset: '< Παραγωγή:
Μέγεθος uset: 5
Τα στοιχεία σε μη ταξινομημένο σετ είναι: 99 39 6 5 26 4 3 13 2
Βρέθηκε κλειδί = 13
umap bucket_count: 11
bucket_size: 2
Το στιγμιότυπο οθόνης της παραπάνω εξόδου δίνεται παρακάτω.

Όπως φαίνεται στην παραπάνω έξοδο, εισάγουμε πρώτα 5 στοιχεία στο σύνολο χωρίς ταξινόμηση και στη συνέχεια εισάγουμε άλλα 4 στοιχεία που καταδεικνύουν τη χρήση παραλλαγών λειτουργίας εισαγωγής. Στη συνέχεια προβάλλουμε τα περιεχόμενα του σετ χωρίς διάταξη.
Στη συνέχεια, χρησιμοποιούμε τη λειτουργία εύρεσης για να βρούμε εάν το κλειδί = 13 υπάρχει στο μη ταξινομημένο σύνολο ή όχι.
Μετά από αυτό, παρουσιάζουμε δύο ακόμη συναρτήσεις «bucket_count» και «bucket_size». Αυτές οι λειτουργίες σχετίζονται με την εσωτερική υλοποίηση του χάρτη χωρίς ταξινόμηση.
Αυτό το κοντέινερ υποστηρίζει επίσης τις υπόλοιπες λειτουργίες και λειτουργίες επαναλήψεων, όπως μέγεθος_μεγέθους, διαγραφή, διαγραφή, άδεια κ.λπ. που είναι παρόμοια με άλλα κοντέινερ STL.
συμπέρασμα
Με αυτό, φτάσαμε στο τέλος του σεμιναρίου μας για το SET στο STL.
Ελπίζουμε ότι τα θέματα που καλύπτονται ως μέρος αυτών των μαθημάτων STL θα σας βοηθήσουν να κατανοήσετε το STL και τα διάφορα περιεχόμενά του.
συγχωνεύστε τον πηγαίο κώδικα c ++
=> Διαβάστε τη δημοφιλή σειρά εκπαιδευτικών C ++ εδώ.
Συνιστώμενη ανάγνωση
- Ουρά προτεραιότητας στο STL
- Λίστες στο STL
- ΧΑΡΤΕΣ σε STL
- Στοίβες και ουρές στο STL
- Επαναληπτές στο STL
- Πίνακες σε STL
- Χορδές, Ζεύγος & Μπλούζες σε STL
- Αλγόριθμοι στο STL