30 Παραδείγματα των διανυσμάτων C++

30 Paradeigmata Ton Dianysmaton C



Στην C++, το Vector είναι μια μονοδιάστατη δομή δεδομένων που αυξάνεται δυναμικά με βάση την απαίτηση. Η οργάνωση δεδομένων (εισαγωγή/τροποποίηση/διαγραφή) μπορεί να γίνει αποτελεσματικά σε αυτή τη δομή δεδομένων. Οι εφαρμογές του περιλαμβάνουν τα εξής:

  1. Αναπαράσταση των μαθηματικών διανυσμάτων σε επιστημονικές και μηχανολογικές εφαρμογές
  2. Οι ουρές, οι στοίβες μπορούν να υλοποιηθούν χρησιμοποιώντας αυτήν τη δομή δεδομένων κ.λπ.

Οι περισσότερες από τις κοινές λειτουργίες και λειτουργίες CRUD που σχετίζονται με αυτήν τη δομή δεδομένων συζητούνται αναλυτικά σεναριακά με σύνταξη και αποσπάσματα κώδικα.







Θέμα Περιεχομένων:

  1. Εισαγάγετε ένα στοιχείο σε ένα διάνυσμα
  2. Εισαγάγετε πολλά στοιχεία σε ένα διάνυσμα
  3. Πρόσβαση στα στοιχεία από ένα διάνυσμα
  4. Ενημερώστε το στοιχείο σε ένα διάνυσμα
  5. Αφαιρέστε ένα συγκεκριμένο στοιχείο από ένα διάνυσμα
  6. Αφαιρέστε όλα τα στοιχεία από ένα διάνυσμα
  7. Ένωση Φορέων
  8. Τομή διανυσμάτων
  9. Ελέγξτε εάν το διάνυσμα είναι κενό ή όχι
  10. Διασχίστε ένα διάνυσμα χρησιμοποιώντας Const_Iterator
  11. Διασχίστε ένα διάνυσμα χρησιμοποιώντας το Reverse_Iterator
  12. Σπρώξτε τα Στοιχεία στο Διάνυσμα
  13. Βάλτε τα στοιχεία από το διάνυσμα
  14. Ανταλλάξτε τα διανύσματα
  15. Λήψη του Πρώτου Στοιχείου από το Διάνυσμα
  16. Λήψη του τελευταίου στοιχείου από το διάνυσμα
  17. Εκχωρήστε νέες τιμές σε ένα διάνυσμα
  18. Επεκτείνετε το διάνυσμα χρησιμοποιώντας το Emplace()
  19. Επεκτείνετε το διάνυσμα χρησιμοποιώντας το Emplace_Back()
  20. Μέγιστο στοιχείο ενός διανύσματος
  21. Ελάχιστο στοιχείο ενός διανύσματος
  22. Άθροισμα στοιχείων σε ένα διάνυσμα
  23. Πολλαπλασιασμός δύο διανυσμάτων με γνώμονα το στοιχείο
  24. Τελική γινόμενο δύο διανυσμάτων
  25. Μετατρέψτε ένα σύνολο σε διάνυσμα
  26. Αφαιρέστε τα διπλότυπα στοιχεία
  27. Μετατρέψτε ένα διάνυσμα σε σύνολο
  28. Αφαιρέστε τις κενές συμβολοσειρές
  29. Γράψτε ένα διάνυσμα σε ένα αρχείο κειμένου
  30. Δημιουργήστε ένα διάνυσμα από ένα αρχείο κειμένου

Εισαγάγετε ένα στοιχείο σε ένα διάνυσμα

ο std:: vector::insert() Η συνάρτηση σε C++ STL χρησιμοποιείται για την εισαγωγή των στοιχείων στην καθορισμένη θέση.



Σύνταξη:

διάνυσμα. εισάγετε ( θέση, στοιχείο ) ;

Ας χρησιμοποιήσουμε αυτή τη συνάρτηση και ας περάσουμε την πρώτη θέση ως παράμετρο που καθορίζει τη θέση όπου πρέπει να εισαχθεί το στοιχείο και ας παρέχουμε το στοιχείο ως δεύτερη παράμετρο.



Η συνάρτηση start() μπορεί να χρησιμοποιηθεί εδώ για να επιστρέψει έναν επαναλήπτη που δείχνει στο πρώτο στοιχείο του διανύσματος εισόδου. Προσθέτοντας τη θέση σε αυτή τη συνάρτηση, το στοιχείο εισάγεται σε αυτήν τη θέση.





Ας δημιουργήσουμε το διάνυσμα 'student_names' τύπου string και εισάγουμε δύο συμβολοσειρές στην πρώτη και στη δεύτερη θέση, τη μία μετά την άλλη, χρησιμοποιώντας τη συνάρτηση insert().

#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Αρχικοποίηση του διανύσματος - student_names

διάνυσμα < σειρά > ονόματα μαθητών ;

cout << 'Υπάρχον διάνυσμα: \n ' ;

Για ( αυτο Εγώ : ονόματα μαθητών ) cout << Εγώ << endl ;

// Εισαγάγετε το 'Sravan Kumar' στην πρώτη θέση

ονόματα μαθητών. εισάγετε ( ονόματα μαθητών. αρχίζουν ( ) + 0 , 'Σράβαν Κουμάρ' ) ;

// Εισαγάγετε το 'Sravan Kumar' στη δεύτερη θέση

ονόματα μαθητών. εισάγετε ( ονόματα μαθητών. αρχίζουν ( ) + 1 , 'Λαλίθα' ) ;

cout << 'Τελικός φορέας: \n ' ;

Για ( αυτο ι : ονόματα μαθητών ) cout << ι << endl ;

}

Παραγωγή:

Προηγουμένως, το διάνυσμα 'student_names' ήταν κενό. Μετά την εισαγωγή, το διάνυσμα περιέχει δύο στοιχεία.



Εισαγάγετε πολλά στοιχεία σε ένα διάνυσμα

Χρησιμοποιούμε την ίδια συνάρτηση που είναι std::vector::insert() σε αυτό το σενάριο. Αλλά πρέπει να περάσουμε τις επιπλέον/διαφορετικές παραμέτρους στην ίδια συνάρτηση για να εισαγάγουμε πολλά στοιχεία σε ένα διάνυσμα.

Σενάριο 1: Εισαγωγή μεμονωμένου στοιχείου πολλές φορές

Σε αυτό το σενάριο, προσθέτουμε το ίδιο στοιχείο πολλές φορές.

Σύνταξη:

διάνυσμα. εισάγετε ( θέση, μέγεθος, στοιχείο ) ;

Για να γίνει αυτό, πρέπει να περάσουμε το μέγεθος ως δεύτερη παράμετρο στη συνάρτηση insert(). Οι συνολικές παράμετροι που μεταβιβάζονται σε αυτή τη συνάρτηση είναι τρεις.

Εδώ:

  1. Η παράμετρος θέσης καθορίζει τη θέση του στοιχείου που θα εισαχθεί. Εάν το μέγεθος είναι μεγαλύτερο από 1, ο δείκτης θέσης έναρξης θα είναι η θέση.
  2. Η παράμετρος μεγέθους καθορίζει τον αριθμό των φορών που πρέπει να εισαχθεί ένα στοιχείο.
  3. Η παράμετρος στοιχείου παίρνει το στοιχείο που θα εισαχθεί σε ένα διάνυσμα.

Σκεφτείτε το διάνυσμα 'student_names' με δύο συμβολοσειρές. Εισαγάγετε τις χορδές 'Lavanya' πέντε φορές στη δεύτερη θέση.

#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Αρχικοποίηση του διανύσματος - student_names

διάνυσμα < σειρά > ονόματα μαθητών { 'Σράβαν Κουμάρ' , 'Λαλίθα' } ;

cout << 'Υπάρχον διάνυσμα: \n ' ;

Για ( αυτο Εγώ : ονόματα μαθητών ) cout << Εγώ << endl ;

// Εισαγάγετε το 'Lavanya' στη δεύτερη θέση 5 φορές

ονόματα μαθητών. εισάγετε ( ονόματα μαθητών. αρχίζουν ( ) + 1 , 5 , 'Λαβάνια' ) ;

cout << ' \n Τελικό διάνυσμα: \n ' ;

Για ( αυτο ι : ονόματα μαθητών ) cout << ι << endl ;

}

Παραγωγή:

Στο υπάρχον διάνυσμα, το 'Sravan Kumar' βρίσκεται στην πρώτη θέση και το 'Lalitha' στη δεύτερη θέση. Αφού εισήγαγε το 'Lavanya' πέντε φορές (από τη δεύτερη θέση στην έκτη θέση), το 'Lalitha' μετακινήθηκε στην έβδομη θέση (τελευταία).

Σενάριο 2: Εισαγωγή πολλαπλών στοιχείων

Σε αυτό το σενάριο, προσθέτουμε τα διαφορετικά στοιχεία κάθε φορά από ένα άλλο διάνυσμα. Χρησιμοποιούμε επίσης την ίδια συνάρτηση εδώ, αλλά η σύνταξη και οι παράμετροι θα αλλάξουν.

Σύνταξη:

διάνυσμα. εισάγετε ( θέση, first_iterator, second_iterator ) ;

Για να γίνει αυτό, πρέπει να περάσουμε το μέγεθος ως δεύτερη παράμετρο στη συνάρτηση insert(). Οι συνολικές παράμετροι που μεταβιβάζονται σε αυτή τη συνάρτηση είναι τρεις.

Εδώ:

  1. Η παράμετρος θέσης καθορίζει τη θέση του στοιχείου που θα εισαχθεί.
  2. Το 'first_iterator' καθορίζει την αρχική θέση από την οποία θα εισαχθούν τα στοιχεία (βασικά, χρησιμοποιώντας τη συνάρτηση start(), επιστρέφεται ένας επαναλήπτης που δείχνει το πρώτο στοιχείο που υπάρχει στο κοντέινερ).
  3. Το 'second_iterator' καθορίζει την τελική θέση μέχρι την οποία θα εισαχθούν τα στοιχεία (βασικά, χρησιμοποιώντας τη συνάρτηση end(), επιστρέφεται ένας επαναλήπτης που δείχνει δίπλα στο τελευταίο σημείο που υπάρχει στο κοντέινερ).

Δημιουργήστε δύο διανύσματα, 'marks1' και 'marks2', ακέραιου τύπου. Εισαγάγετε όλα τα στοιχεία που υπάρχουν στο διάνυσμα 'marks2' στην πρώτη θέση του διανύσματος 'marks1'.

#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Αρχικοποίηση του διανύσματος - σημάδια1

διάνυσμα < ενθ > σημάδια 1 { 100 , 89 , 90 , 78 , 98 } ;

cout << 'Πρώτο διάνυσμα: \n ' ;

Για ( αυτο Εγώ : σημάδια 1 ) cout << Εγώ << endl ;

// Αρχικοποίηση του διανύσματος - σημάδια2

διάνυσμα < ενθ > σημάδια 2 { 56 , Τέσσερα πέντε , 65 } ;

cout << 'Δεύτερος διάνυσμα: \n ' ;

Για ( αυτο ι : σημάδια 2 ) cout << ι << endl ;

σημάδια 1. εισάγετε ( αρχίζουν ( σημάδια 1 ) , αρχίζουν ( σημάδια 2 ) , τέλος ( σημάδια 2 ) ) ;



// Τελικό διάνυσμα

cout << 'Πρώτος-Τελικός διάνυσμα: \n ' ;

Για ( αυτο Χ : σημάδια 1 )

cout << Χ << '' ;

}

Παραγωγή:

Το πρώτο διάνυσμα (σημεία1) περιέχει πέντε στοιχεία και το δεύτερο διάνυσμα (σημεία2) περιέχει τρία στοιχεία. Περάσαμε τις παραμέτρους start (marks1), begin(marks2), end(marks2) στη συνάρτηση «insert» έτσι ώστε όλα τα στοιχεία που υπάρχουν στο δεύτερο διάνυσμα να επαναληφθούν και να εισαχθούν στο πρώτο διάνυσμα στην αρχή. Άρα, το πρώτο διάνυσμα περιέχει οκτώ στοιχεία.

Πρόσβαση στα στοιχεία από ένα διάνυσμα

1. Χρήση του χειριστή []

Σε ορισμένα σενάρια, μπορεί να έχετε την απαίτηση να επιστρέψετε μόνο τα συγκεκριμένα στοιχεία από το διάνυσμα. Δεν απαιτείται η επιστροφή όλων των στοιχείων. Έτσι, για να επιστρέψουμε μόνο τα συγκεκριμένα στοιχεία που βασίζονται στο ευρετήριο, χρησιμοποιούνται οι συναρτήσεις τελεστή ευρετηρίου και at().

Σύνταξη:

διάνυσμα [ ευρετήριο_θέση ]

Στην C++, η ευρετηρίαση ξεκινά από το 0 για οποιαδήποτε δομή δεδομένων. Εάν το στοιχείο δεν υπάρχει, επιστρέφει κενό (Δεν υπάρχει σφάλμα ή προειδοποίηση).

Εξετάστε το διάνυσμα «προϊόντα» με πέντε στοιχεία. Αποκτήστε πρόσβαση σε όλα τα στοιχεία ένα προς ένα χρησιμοποιώντας τη θέση ευρετηρίου.

#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία διανύσματος - προϊόντων με 5 συμβολοσειρές

διάνυσμα < σειρά > προϊόντα { 'σαπούνι' , 'σαμπουάν' , 'λάδι' , 'φρούτα' , 'λαχανικά' } ;

//Πρόσβαση σε στοιχεία από τα προϊόντα

cout << 'Πρώτο στοιχείο:' << προϊόντα [ 0 ] << endl ;

cout << 'Δεύτερο στοιχείο:' << προϊόντα [ 1 ] << endl ;

cout << 'Τρίτο στοιχείο:' << προϊόντα [ 2 ] << endl ;

cout << 'Τέταρτο στοιχείο:' << προϊόντα [ 3 ] << endl ;

cout << 'Πέμπτο στοιχείο:' << προϊόντα [ 4 ] << endl ;



// Προσπαθήστε να αποκτήσετε πρόσβαση στο 9ο στοιχείο

cout << 'Ένατο Στοιχείο:' << προϊόντα [ 8 ] << endl ;

}

Παραγωγή:

Δεν υπάρχει στοιχείο στο ευρετήριο 8. Άρα, επιστρέφεται κενό.

2. Χρησιμοποιώντας τη συνάρτηση At().

Η At() είναι μια συνάρτηση μέλους που είναι παρόμοια με την προηγούμενη περίπτωση χρήσης, αλλά επιστρέφει την εξαίρεση 'std::out_of_range' όταν της παρέχεται το ευρετήριο εκτός εύρους.

Σύνταξη:

διάνυσμα. στο ( ευρετήριο_θέση )

Πρέπει να περάσουμε τη θέση του δείκτη σε αυτή τη συνάρτηση.

Εξετάστε το διάνυσμα «προϊόντα» με πέντε στοιχεία. Αποκτήστε πρόσβαση σε όλα τα στοιχεία ένα προς ένα χρησιμοποιώντας τη θέση ευρετηρίου και προσπαθήστε να αποκτήσετε πρόσβαση στο στοιχείο που υπάρχει στην 9η θέση.

#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία διανύσματος - προϊόντων με 5 συμβολοσειρές

διάνυσμα < σειρά > προϊόντα { 'σαπούνι' , 'σαμπουάν' , 'λάδι' , 'φρούτα' , 'λαχανικά' } ;

//Πρόσβαση σε στοιχεία από τα προϊόντα

cout << 'Πρώτο στοιχείο:' << προϊόντα. στο ( 0 ) << endl ;

cout << 'Δεύτερο στοιχείο:' << προϊόντα. στο ( 1 ) << endl ;

cout << 'Τρίτο στοιχείο:' << προϊόντα. στο ( 2 ) << endl ;

cout << 'Τέταρτο στοιχείο:' << προϊόντα. στο ( 3 ) << endl ;

cout << 'Πέμπτο στοιχείο:' << προϊόντα. στο ( 4 ) << endl ;



//Πρόσβαση στα στοιχεία που δεν βρίσκονται στο διάνυσμα

cout << 'Ένατο Στοιχείο:' << προϊόντα. στο ( 8 ) << endl ;

}

Παραγωγή:

Παρουσιάζεται σφάλμα κατά την πρόσβαση στο 9ο στοιχείο:

τερματίστε την κλήση μετά τη ρίψη ενός στιγμιότυπου του 'std::out_of_range'

τι ( ) : διάνυσμα :: _M_range_check : __n ( το οποίο είναι 8 ) >= Αυτό - > Μέγεθος ( ) ( το οποίο είναι 5 )

Ενημερώστε ένα στοιχείο σε ένα διάνυσμα

1. Χρήση του χειριστή []

Χρησιμοποιώντας τη θέση του δείκτη, μπορούμε να ενημερώσουμε το στοιχείο στο διάνυσμα. Ο τελεστής [] παίρνει τη θέση ευρετηρίου του στοιχείου που πρέπει να ενημερωθεί. Το νέο στοιχείο θα εκχωρηθεί σε αυτόν τον τελεστή.

Σύνταξη:

Διάνυσμα [ ευρετήριο_θέση ] = Στοιχείο

Εξετάστε το διάνυσμα 'σημάδια_μαθητή' με πέντε τιμές. Ενημερώστε τα στοιχεία που υπάρχουν στους δείκτες 1 και 3.

#include

#include <διάνυσμα>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία διανύσματος - σημαδιών_φοιτητή

διάνυσμα < ενθ > μαθητικά σημάδια { 98 , 78 , 90 , 67 , 89 } ;

cout << 'Υφιστάμενα σήματα:' << endl ;

Για ( ενθ itr : μαθητικά σημάδια )

cout << itr << endl ;

// Ενημέρωση στοιχείου στο index-3 με 100

μαθητικά σημάδια [ 3 ] = 100 ;

// Ενημέρωση στοιχείου στο index-1 με 60

σημάδια_μαθητή [ 1 ] = 60 ;

cout << 'Τελικοί βαθμοί:' << endl ;

Για ( ενθ itr : μαθητικά σημάδια )

cout << itr << endl ;

}

Παραγωγή:

Μπορούμε να δούμε ότι το τελικό διάνυσμα κρατά τα στοιχεία ενημέρωσης στους δείκτες 1 και 3.

2. Χρησιμοποιώντας τη συνάρτηση At().

Παρόμοια με τον τελεστή ευρετηρίου, η at() είναι βασικά μια συνάρτηση μέλους που ενημερώνει την τιμή με βάση το ευρετήριο σε έναν επαναλήπτη. Εάν το ευρετήριο που καθορίζεται σε αυτήν τη συνάρτηση δεν υπάρχει, εμφανίζεται η εξαίρεση 'std::out_of_range'.

διάνυσμα. στο ( ευρετήριο_θέση ) = Στοιχείο

Εξετάστε το διάνυσμα «προϊόντα» με πέντε στοιχεία. Ενημερώστε όλα τα στοιχεία που υπάρχουν στο διάνυσμα με άλλα στοιχεία.

#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία διανύσματος - προϊόντων με 5 συμβολοσειρές

διάνυσμα < σειρά > προϊόντα { 'σαπούνι' , 'σαμπουάν' , 'λάδι' , 'φρούτα' , 'λαχανικά' } ;

cout << 'Υπάρχοντα προϊόντα:' << endl ;

Για ( χορδή itr : προϊόντα )

cout << itr << endl ;

//Ενημέρωση όλων των συμβολοσειρών

προϊόντα. στο ( 0 ) = 'Κέικ' ;

προϊόντα. στο ( 1 ) = 'Σοκολάτα' ;

προϊόντα. στο ( 2 ) = 'Φρούτα' ;

προϊόντα. στο ( 3 ) = 'Κρεμμύδια' ;

προϊόντα. στο ( 4 ) = 'Αναψυκτικά' ;



cout << ' \n Τελικά προϊόντα: ' << endl ;

Για ( χορδή itr : προϊόντα )

cout << itr << endl ;

}

Παραγωγή:

Αφαιρέστε ένα συγκεκριμένο στοιχείο από ένα διάνυσμα

Στην C++, το std::vector::erase() Η συνάρτηση χρησιμοποιείται για να αφαιρέσει ένα συγκεκριμένο στοιχείο/εύρος στοιχείων από ένα διάνυσμα. Τα στοιχεία αφαιρούνται με βάση τις θέσεις επαναλήπτη.

Σύνταξη:

διάνυσμα. εξάλειψη ( θέση επαναλήπτη )

Ας δούμε τη σύνταξη για την αφαίρεση του συγκεκριμένου στοιχείου από ένα διάνυσμα. Μπορούμε να χρησιμοποιήσουμε τις συναρτήσεις start() ή end() για να πάρουμε τη θέση του στοιχείου που υπάρχει στο διάνυσμα που πρόκειται να αφαιρεθεί.

Εξετάστε το διάνυσμα «προϊόντα» με πέντε στοιχεία.

  1. Καταργήστε το τρίτο στοιχείο καθορίζοντας τον επαναλήπτη start(). Η Begin() δείχνει το πρώτο στοιχείο στο διάνυσμα. Αν προσθέσουμε δύο σε αυτή τη συνάρτηση, δείχνει το τρίτο στοιχείο.
  2. Αφαιρέστε το τελευταίο στοιχείο καθορίζοντας τον επαναλήπτη end(). Το End() δείχνει το τελευταίο στοιχείο στο διάνυσμα.
#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία διανύσματος - προϊόντων με 5 συμβολοσειρές

διάνυσμα < σειρά > προϊόντα { 'σαπούνι' , 'σαμπουάν' , 'λάδι' , 'φρούτα' , 'λαχανικά' } ;

cout << 'Υπάρχοντα προϊόντα:' << endl ;

Για ( χορδή itr : προϊόντα )

cout << itr << endl ;



// Αφαίρεση 3ου στοιχείου

προϊόντα. εξάλειψη ( προϊόντα. αρχίζουν ( ) + 2 ) ;

cout << ' \n Μετά την αφαίρεση του 3ου στοιχείου: \n ' ;

Για ( χορδή itr : προϊόντα )

cout << itr << endl ;

// Αφαίρεση τελευταίου στοιχείου

προϊόντα. εξάλειψη ( προϊόντα. τέλος ( ) ) ;

cout << ' \n Αφού αφαιρέσετε το τελευταίο στοιχείο: \n ' ;

Για ( χορδή itr : προϊόντα )

cout << itr << endl ;

}

Παραγωγή:

Τώρα, υπάρχουν μόνο τρία στοιχεία («σαπούνι», «σαμπουάν», «φρούτα») που υπάρχουν στο διάνυσμα «προϊόντα».

Αφαιρέστε όλα τα στοιχεία από ένα διάνυσμα

Σενάριο 1: Αφαιρέστε μια περιοχή στοιχείων από ένα διάνυσμα

Ας χρησιμοποιήσουμε τη συνάρτηση std::vector::erase() για να αφαιρέσουμε πολλά στοιχεία σε μια περιοχή.

Σύνταξη:

διάνυσμα. εξάλειψη ( επαναλήπτης πρώτος, επαναλήπτης τελευταίος )

Οι δύο επαναλήπτες (σημεία begin() στο πρώτο στοιχείο και σημεία end() στις συναρτήσεις τελευταίου στοιχείου) χρησιμοποιούνται για τον καθορισμό της περιοχής.

Εξετάστε το διάνυσμα «προϊόντα» με πέντε στοιχεία και αφαιρέστε όλα τα στοιχεία από τη δεύτερη θέση. Για να επιτευχθεί αυτό, ο πρώτος επαναλήπτης είναι αρχή (προϊόντα)+1 που δείχνει στο δεύτερο στοιχείο και ο δεύτερος επαναλήπτης είναι τέλος (προϊόντα).

#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία διανύσματος - προϊόντων με 5 συμβολοσειρές

διάνυσμα < σειρά > προϊόντα { 'σαπούνι' , 'σαμπουάν' , 'λάδι' , 'φρούτα' , 'λαχανικά' } ;

cout << 'Υπάρχοντα προϊόντα:' << endl ;

Για ( χορδή itr : προϊόντα )

cout << itr << endl ;



// Αφαιρέστε όλα τα στοιχεία από τη δεύτερη θέση

προϊόντα. εξάλειψη ( αρχίζουν ( προϊόντα ) + 1 ,τέλος ( προϊόντα ) ) ;

cout << ' \n Τελικά Προϊόντα: \n ' ;

Για ( χορδή itr : προϊόντα )

cout << itr << endl ;

}

Παραγωγή:

Τώρα, υπάρχει μόνο ένα στοιχείο («σαπούνι») που υπάρχει στο διάνυσμα «προϊόντα».

Σενάριο 2: Κατάργηση όλων των στοιχείων από το διάνυσμα

Ας χρησιμοποιήσουμε το std:: vector::clear() λειτουργία για την αφαίρεση όλων των στοιχείων από το διάνυσμα.

Σύνταξη:

διάνυσμα. Σαφή ( )

Δεν μεταβιβάζονται παράμετροι σε αυτή τη συνάρτηση.

Εξετάστε το ίδιο διάνυσμα που χρησιμοποιήθηκε στο πρώτο σενάριο και αφαιρέστε όλα τα στοιχεία χρησιμοποιώντας τη συνάρτηση clear().

#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία διανύσματος - προϊόντων με 5 συμβολοσειρές

διάνυσμα < σειρά > προϊόντα { 'σαπούνι' , 'σαμπουάν' , 'λάδι' , 'φρούτα' , 'λαχανικά' } ;

cout << 'Υπάρχοντα προϊόντα:' << endl ;

Για ( χορδή itr : προϊόντα )

cout << itr << endl ;



// Αφαιρέστε όλα τα στοιχεία από τα προϊόντα

προϊόντα. Σαφή ( ) ;

cout << ' \n Τελικά Προϊόντα: \n ' ;

Για ( χορδή itr : προϊόντα )

cout << itr << endl ;

}

Παραγωγή:

Μπορούμε να δούμε ότι δεν υπάρχουν στοιχεία στο διάνυσμα «προϊόντα».

Ένωση Φορέων

Είναι δυνατή η εκτέλεση της λειτουργίας UNION σε διανύσματα χρησιμοποιώντας τη συνάρτηση std::set_union(). Η Ένωση επιστρέφει τα μοναδικά στοιχεία από τα διανύσματα αγνοώντας τα διπλά στοιχεία. Πρέπει να περάσουμε και τους δύο επαναλήπτες σε αυτή τη συνάρτηση. Μαζί με αυτό, πρέπει να περάσει ένας επαναλήπτης εξόδου που αποθηκεύει το αποτέλεσμα που επιστρέφεται και από τους δύο επαναλήπτες.

Σύνταξη:

set_union ( InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator res ) ;

Εδώ:

  1. Το 'first1' δείχνει στο πρώτο στοιχείο του πρώτου επαναλήπτη (διάνυσμα).
  2. Το 'last1' δείχνει στο τελευταίο στοιχείο του πρώτου επαναλήπτη (διάνυσμα).
  3. Το 'first2' δείχνει το πρώτο στοιχείο του δεύτερου επαναλήπτη (διάνυσμα).
  4. Το 'last2' δείχνει στο τελευταίο στοιχείο του δεύτερου επαναλήπτη (διάνυσμα).

Δημιουργήστε δύο διανύσματα – “subjects1” και “subjects2” – ακέραιου τύπου.

  1. Ταξινομήστε τα δύο διανύσματα χρησιμοποιώντας τη συνάρτηση sort() περνώντας τους επαναλήπτες.
  2. Δημιουργήστε ένα διάνυσμα εξόδου (επαναλήπτης).
  3. Βρείτε την ένωση αυτών των δύο διανυσμάτων χρησιμοποιώντας τη συνάρτηση std::set_union(). Χρησιμοποιήστε το begin() ως τον πρώτο επαναλήπτη και το end() ως τον τελευταίο επαναλήπτη.
  4. Επαναλάβετε το διάνυσμα εξόδου για να εμφανίσετε τα στοιχεία που επιστρέφονται από τη συνάρτηση.
#include <αλγόριθμος>

#include

#include <διάνυσμα>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία φορέα - σημάδια1

διάνυσμα < ενθ > σημάδια 1 = { 100 , 90 , 80 , 70 , 60 } ;



// Δημιουργία φορέα - σημάδια2

διάνυσμα < ενθ > σημάδια 2 = { 80 , 90 , 60 , 70 , 100 } ;

// Ταξινόμηση και των δύο διανυσμάτων

είδος ( σημάδια 1. αρχίζουν ( ) , σημειώνει 1. τέλος ( ) ) ;

είδος ( σημάδια 2. αρχίζουν ( ) , σημειώνει 2. τέλος ( ) ) ;

διάνυσμα < ενθ > outputVector ( σημάδια 1. Μέγεθος ( ) + σημάδια 2. Μέγεθος ( ) ) ;

διάνυσμα < ενθ > :: επαναλήπτης είναι ;

Εγώ = set_union ( σημάδια 1. αρχίζουν ( ) , σημειώνει 1. τέλος ( ) ,

σημάδια 2. αρχίζουν ( ) , βαθμοί 2. τέλος ( ) ,

outputVector. αρχίζουν ( ) ) ;

cout << ' \n marks1 U marks2: \n ' ;

Για ( μικρό = outputVector. αρχίζουν ( ) ; μικρό ! = Εγώ ; ++ μικρό )

cout << * μικρό << '' << ' \n ' ;

}

Παραγωγή:

Υπάρχουν μόνο πέντε μοναδικά στοιχεία και στα δύο διανύσματα (θέματα1 και υποκείμενα2).

Τομή διανυσμάτων

Η εύρεση της τομής δύο διανυσμάτων μπορεί να είναι δυνατή χρησιμοποιώντας τη συνάρτηση std::set_intersection(). Η τομή επιστρέφει τα στοιχεία που υπάρχουν και στα δύο διανύσματα.

Σύνταξη:

set_τομή ( InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator res ) ;

Οι παράμετροι που μεταβιβάζονται στη συνάρτηση set_union() μπορούν επίσης να περάσουν σε αυτήν τη συνάρτηση set_intersection().

Δημιουργήστε δύο διανύσματα – “subjects1” και “subjects2” – ακέραιου τύπου.

  1. Ταξινομήστε τα δύο διανύσματα χρησιμοποιώντας τη συνάρτηση sort() περνώντας τους επαναλήπτες.
  2. Δημιουργήστε ένα διάνυσμα εξόδου (επαναλήπτης).
  3. Βρείτε την τομή αυτών των δύο διανυσμάτων χρησιμοποιώντας τη συνάρτηση std::set_intersection(). Χρησιμοποιήστε το begin() ως τον πρώτο επαναλήπτη και το end() ως τον τελευταίο επαναλήπτη.
  4. Επαναλάβετε το διάνυσμα εξόδου για να εμφανίσετε τα στοιχεία που επιστρέφονται από τη συνάρτηση.
#include <αλγόριθμος>

#include

#include <διάνυσμα>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία φορέα - σημάδια1

διάνυσμα < ενθ > σημάδια 1 = { 100 , 10 , 80 , 40 , 60 } ;



// Δημιουργία φορέα - σημάδια2

διάνυσμα < ενθ > σημάδια 2 = { πενήντα , 90 , 60 , 10 , 100 } ;

// Ταξινόμηση και των δύο διανυσμάτων

είδος ( σημάδια 1. αρχίζουν ( ) , σημειώνει 1. τέλος ( ) ) ;

είδος ( σημάδια 2. αρχίζουν ( ) , σημειώνει 2. τέλος ( ) ) ;

διάνυσμα < ενθ > outputVector ( σημάδια 1. Μέγεθος ( ) + σημάδια 2. Μέγεθος ( ) ) ;

διάνυσμα < ενθ > :: επαναλήπτης είναι ;

Εγώ = set_τομή ( σημάδια 1. αρχίζουν ( ) , σημειώνει 1. τέλος ( ) ,

σημάδια 2. αρχίζουν ( ) , βαθμοί 2. τέλος ( ) ,

outputVector. αρχίζουν ( ) ) ;

cout << ' \n marks1 ∩ marks2: \n ' ;

Για ( μικρό = outputVector. αρχίζουν ( ) ; μικρό ! = Εγώ ; ++ μικρό )

cout << * μικρό << '' << ' \n ' ;

}

Παραγωγή:

Υπάρχουν μόνο τρία στοιχεία και στα δύο διανύσματα (υποκείμενα1 και υποκείμενα2).

Ελέγξτε εάν το διάνυσμα είναι κενό ή όχι

Πριν εργαστείτε σε διανύσματα, είναι σημαντικό να ελέγξετε εάν το διάνυσμα είναι κενό ή όχι. Είναι επίσης μια καλή πρακτική σε έργα λογισμικού να ελέγχετε εάν το διάνυσμα είναι κενό ή όχι πριν κάνετε τις λειτουργίες όπως πράξεις CRUD κ.λπ.

1. Χρησιμοποιώντας το Std::vector::empty()

Αυτή η συνάρτηση επιστρέφει 1 εάν το διάνυσμα είναι κενό (δεν περιέχει κανένα στοιχείο). Διαφορετικά, επιστρέφεται το 0. Καμία παράμετρος δεν μεταβιβάζεται σε αυτή τη συνάρτηση.

2. Χρησιμοποιώντας το Std::διάνυσμα::size()

Η συνάρτηση std::vector::size() επιστρέφει τον ακέραιο που αντιπροσωπεύει τον συνολικό αριθμό των στοιχείων που υπάρχουν στο διάνυσμα.

Δημιουργήστε δύο διανύσματα - 'κολέγιο1' και 'κολέγιο2'. Το 'College1' περιέχει πέντε στοιχεία και το 'college2' είναι κενό. Εφαρμόστε και τις δύο συναρτήσεις και στα δύο διανύσματα και ελέγξτε την έξοδο.

#include <αλγόριθμος>

#include

#include <διάνυσμα>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία φορέα - κολέγιο1

διάνυσμα < σειρά > κολέγιο 1 = { 'κολέγιο-Α' , 'κολέγιο-Β' , 'κολέγιο-Γ' , 'κολέγιο-Δ' , 'κολέγιο-Ε' } ;

// Δημιουργία φορέα - κολέγιο2

διάνυσμα < σειρά > κολέγιο 2 ;

// κενό()

cout << κολέγιο 1. αδειάζω ( ) << endl ;

cout << κολέγιο 2. αδειάζω ( ) << endl ;

// Μέγεθος()

cout << κολέγιο 1. Μέγεθος ( ) << endl ;

cout << κολέγιο 2. Μέγεθος ( ) << endl ;

}

Παραγωγή:

Η συνάρτηση άδεια() επιστρέφει 0 για το “college1” και 1 για το “college2”. Η συνάρτηση size() επιστρέφει πέντε για το 'college1' και 0 για το 'college2'.

Διασχίστε ένα διάνυσμα χρησιμοποιώντας το Const_Iterator

Όταν εργάζεστε σε δοχεία C++ όπως σύνολα, διανύσματα κ.λπ., είναι δυνατό να επαναλάβετε όλα τα στοιχεία που υπάρχουν στο κοντέινερ χωρίς να τα τροποποιήσετε. ο const_iterator είναι ένας από τους επαναλήπτες που επιτυγχάνουν αυτό το σενάριο. Το cbegin() (σημεία στο πρώτο στοιχείο στο διάνυσμα) και το cend() (σημεία στο τελευταίο στοιχείο στο διάνυσμα) είναι οι δύο συναρτήσεις που παρέχονται από κάθε κοντέινερ που χρησιμοποιείται για την επιστροφή του σταθερού επαναλήπτη στην αρχή και στο τέλος του το δοχείο. Κατά την επανάληψη του διανύσματος, μπορούμε να χρησιμοποιήσουμε αυτές τις δύο συναρτήσεις.

  1. Ας δημιουργήσουμε ένα διάνυσμα με το όνομα 'τμήματα' με πέντε συμβολοσειρές.
  2. Δηλώστε ένα const_iterator – ctr τύπου .
  3. Επαναλάβετε τα τμήματα χρησιμοποιώντας τον προηγούμενο επαναλήπτη χρησιμοποιώντας τον βρόχο 'for' και εμφανίστε τον.
#include

#include <διάνυσμα>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία διανύσματος - τμημάτων

διάνυσμα < σειρά > τμήματα = { 'Εκπτώσεις' , 'Υπηρεσία' ,

'HR' , 'ΤΟ' , 'Οι υπολοιποι' } ;



διάνυσμα < σειρά > :: const_iterator ctr ;

// Επανάληψη στα τμήματα χρησιμοποιώντας const_iterator - ctr.

Για ( ctr = τμήματα. cαρχίζουν ( ) ; ctr ! = τμήματα. λίγα ( ) ; ctr ++ ) {

cout << * ctr << endl ;

}

}

Παραγωγή:

Διασχίστε ένα διάνυσμα χρησιμοποιώντας το Reverse_Iterator

ο reverse_iterator είναι επίσης ένας επαναλήπτης που είναι παρόμοιος με τον const_iterator αλλά επιστρέφει τα στοιχεία αντίστροφα. Το rbegin() (σημειώνει το τελευταίο στοιχείο στο διάνυσμα) και το rend() (σημεία προς το πρώτο στοιχείο στο διάνυσμα) είναι οι δύο συναρτήσεις που παρέχονται από κάθε κοντέινερ που χρησιμοποιείται για να επιστρέψει τον σταθερό επαναλήπτη στο τέλος και στην αρχή του το δοχείο.

  1. Ας δημιουργήσουμε ένα διάνυσμα με το όνομα 'τμήματα' με πέντε συμβολοσειρές.
  2. Δηλώστε ένα reverse_iterator – rtr τύπου .
  3. Επαναλάβετε τα τμήματα χρησιμοποιώντας τον προηγούμενο επαναλήπτη χρησιμοποιώντας τον βρόχο 'for' και εμφανίστε τον.
#include

#include <διάνυσμα>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία διανύσματος - τμημάτων

διάνυσμα < σειρά > τμήματα = { 'Εκπτώσεις' , 'Υπηρεσία' ,

'HR' , 'ΤΟ' , 'Οι υπολοιποι' } ;



διάνυσμα < σειρά > :: reverse_iterator rtr ;

// Επανάληψη στα τμήματα χρησιμοποιώντας reverse_iterator - rtr.

Για ( rtr = τμήματα. rbegin ( ) ; rtr ! = τμήματα. κάνει ( ) ; rtr ++ ) {

cout << * rtr << endl ;

}

}

Παραγωγή:

Σπρώξτε τα Στοιχεία στο Διάνυσμα

Η ώθηση ή η προσάρτηση των στοιχείων σε ένα διάνυσμα είναι μια μονόδρομη εισαγωγή που μπορεί να γίνει χρησιμοποιώντας το vector::push_back() λειτουργία.

Σύνταξη:

διάνυσμα. push_back ( στοιχείο )

Χρειάζεται ένα στοιχείο για να ωθηθεί στο διάνυσμα ως παράμετρος.

Ας δημιουργήσουμε ένα κενό διάνυσμα με το όνομα 'τμήματα' με πέντε συμβολοσειρές και ας σπρώξουμε δύο συμβολοσειρές τη μία μετά την άλλη χρησιμοποιώντας τη συνάρτηση push_back().

#include

#include <διάνυσμα>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Αρχικοποίηση διανύσματος - τμημάτων

διάνυσμα < σειρά > τμήματα ;

cout << 'Πραγματικά Τμήματα:' << endl ;

Για ( αυτο itr = τμήματα. αρχίζουν ( ) ; itr ! = τμήματα. τέλος ( ) ; ++ itr )

cout << * itr << endl ;

// Push 'Sales'

τμήματα. push_back ( 'Εκπτώσεις' ) ;

// Σπρώξτε'

τμήματα. push_back ( 'ΤΟ' ) ;

cout << ' \n Τελικά Τμήματα:' << endl ;

Για ( αυτο itr = τμήματα. αρχίζουν ( ) ; itr ! = τμήματα. τέλος ( ) ; ++ itr )

cout << * itr << endl ;

}

Παραγωγή:

Αρχικά, πιέζουμε τις «Πωλήσεις». Μετά από αυτό, το 'IT' ωθείται στο διάνυσμα. Τώρα, το διάνυσμα 'τμημάτων' περιέχει δύο στοιχεία.

Βάλτε τα στοιχεία από το διάνυσμα

Εάν θέλετε να διαγράψετε το τελευταίο στοιχείο που υπάρχει στο διάνυσμα, χρησιμοποιώντας το vector::pop_back() η λειτουργία είναι η καλύτερη προσέγγιση. Διαγράφει το τελευταίο στοιχείο που υπάρχει στο διάνυσμα.

Σύνταξη:

διάνυσμα. pop_back ( )

Δεν απαιτείται παράμετρος για αυτή τη λειτουργία. Εμφανίζει την απροσδιόριστη συμπεριφορά εάν προσπαθήσουμε να διαγράψουμε το τελευταίο στοιχείο από ένα κενό διάνυσμα.

Ας δημιουργήσουμε ένα κενό διάνυσμα με το όνομα 'τμήματα' με πέντε συμβολοσειρές και ας διαγράψουμε το τελευταίο στοιχείο χρησιμοποιώντας την προηγούμενη συνάρτηση. Εμφανίστε το διάνυσμα και στις δύο περιπτώσεις.

#include

#include <διάνυσμα>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Αρχικοποίηση διανύσματος - τμημάτων

διάνυσμα < σειρά > τμήματα = { 'Εκπτώσεις' , 'ΤΟ' , 'Υπηρεσία' , 'Εμπορία' , 'HR' } ;

cout << 'Πραγματικά Τμήματα:' << endl ;

Για ( αυτο itr = τμήματα. αρχίζουν ( ) ; itr ! = τμήματα. τέλος ( ) ; ++ itr )

cout << * itr << endl ;



// Διαγραφή του τελευταίου στοιχείου

τμήματα. pop_back ( ) ;

cout << ' \n Τελικά Τμήματα:' << endl ;

Για ( αυτο itr = τμήματα. αρχίζουν ( ) ; itr ! = τμήματα. τέλος ( ) ; ++ itr )

cout << * itr << endl ;

}

Παραγωγή:

Το 'HR' είναι το τελευταίο στοιχείο που υπάρχει στο διάνυσμα 'τμημάτων'. Έτσι, αφαιρείται από το διάνυσμα και το τελικό διάνυσμα περιέχει «Πωλήσεις», «IT», «Υπηρεσίες» και «Μάρκετινγκ».

Ανταλλάξτε τα διανύσματα

ο vector::swap() Η συνάρτηση στη C++ STL χρησιμοποιείται για την εναλλαγή όλων των στοιχείων που υπάρχουν σε δύο διανύσματα.

Σύνταξη:

first_vector. ανταλαγή ( second_vector )

Δεν λαμβάνει υπόψη το μέγεθος των διανυσμάτων, αλλά τα διανύσματα πρέπει να είναι του ίδιου τύπου (παρουσιάζεται σφάλμα εάν οι τύποι διανυσμάτων είναι διαφορετικοί).

Ας δημιουργήσουμε δύο διανύσματα - 'φρούτα' και 'λαχανικά' - τύπου χορδής με διαφορετικά μεγέθη. Εναλλάξτε το καθένα από αυτά και εμφανίστε τα διανύσματα και στις δύο περιπτώσεις.

#include

#include <διάνυσμα>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Αρχικοποίηση φορέα - φρούτων

διάνυσμα < σειρά > φρούτα = { 'Μήλο' , 'Μάνγκο' } ;

cout << 'Πραγματικά φρούτα:' << endl ;

Για ( αυτο itr = φρούτα. αρχίζουν ( ) ; itr ! = φρούτα. τέλος ( ) ; ++ itr )

cout << * itr << endl ;



// Αρχικοποίηση φορέα - λαχανικά

διάνυσμα < σειρά > λαχανικά = { 'Πατάτα' , 'Ντομάτα' , 'Brinjal' } ;

cout << ' \n Πραγματικά λαχανικά:' << endl ;

Για ( αυτο itr = λαχανικά. αρχίζουν ( ) ; itr ! = λαχανικά. τέλος ( ) ; ++ itr )

cout << * itr << endl ;



// Εναλλαγή των στοιχείων και στα δύο διανύσματα

φρούτα. ανταλαγή ( λαχανικά ) ;

cout << ' \n Φρούτα μετά την ανταλλαγή:' << endl ;

Για ( αυτο itr = φρούτα. αρχίζουν ( ) ; itr ! = φρούτα. τέλος ( ) ; ++ itr )

cout << * itr << endl ;

cout << ' \n Λαχανικά μετά την εναλλαγή:' << endl ;

Για ( αυτο itr = λαχανικά. αρχίζουν ( ) ; itr ! = λαχανικά. τέλος ( ) ; ++ itr )

cout << * itr << endl ;

}

Παραγωγή:

Προηγουμένως, το διάνυσμα 'φρούτα' περιέχει δύο στοιχεία και το διάνυσμα 'λαχανικά' περιέχει τρία στοιχεία. Μετά την ανταλλαγή, το διάνυσμα 'φρούτα' περιέχει τρία στοιχεία και το διάνυσμα 'λαχανικά' περιέχει δύο στοιχεία.

Λήψη του Πρώτου Στοιχείου από το Διάνυσμα

Σε ορισμένες περιπτώσεις, η απαίτηση είναι να επιστρέψετε μόνο το πρώτο στοιχείο από το διάνυσμα. Η συνάρτηση vector::front() στο C++ STL φέρνει μόνο το πρώτο στοιχείο από το διάνυσμα.

Σύνταξη:

διάνυσμα. εμπρός ( )

Αυτή η συνάρτηση δεν θα λάβει καμία παράμετρο. Εάν το διάνυσμα είναι κενό, εμφανίζεται ένα σφάλμα.

Ας δημιουργήσουμε δύο διανύσματα - 'φρούτα' και 'λαχανικά' - τύπου συμβολοσειράς και ας προσπαθήσουμε να φέρουμε το πρώτο στοιχείο ξεχωριστά από τα δύο διανύσματα.

#include

#include <διάνυσμα>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία φορέα - φρούτα με 2 στοιχεία

διάνυσμα < σειρά > φρούτα = { 'Μήλο' , 'Μάνγκο' } ;

// Επιστρέψτε το πρώτο στοιχείο

cout << φρούτα. εμπρός ( ) << endl ;



// Αρχικοποίηση φορέα - λαχανικά

διάνυσμα < σειρά > λαχανικά ;

// Προσπαθήστε να επιστρέψετε το πρώτο στοιχείο

cout << λαχανικά. εμπρός ( ) ;

}

Παραγωγή:

Το «μήλο» είναι το πρώτο στοιχείο που υπάρχει στο διάνυσμα των «φρούτων». Άρα, επιστρέφεται. Αλλά παρουσιάζεται σφάλμα όταν προσπαθούμε να φέρουμε το πρώτο στοιχείο από το διάνυσμα 'λαχανικά' αφού είναι κενό.

Λήψη του τελευταίου στοιχείου από το διάνυσμα

Η συνάρτηση vector::end() στο C++ STL ανακτά μόνο το τελευταίο στοιχείο από το διάνυσμα.

Σύνταξη:

διάνυσμα. πίσω ( )

Αυτή η συνάρτηση δεν θα λάβει καμία παράμετρο. Εάν το διάνυσμα είναι κενό, εμφανίζεται ένα σφάλμα.

Ας δημιουργήσουμε δύο διανύσματα - 'φρούτα' και 'λαχανικά' - τύπου συμβολοσειράς και ας προσπαθήσουμε να φέρουμε το τελευταίο στοιχείο ξεχωριστά από τα δύο διανύσματα.

#include

#include <διάνυσμα>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία φορέα - φρούτα με 2 στοιχεία

διάνυσμα < σειρά > φρούτα = { 'Μήλο' , 'Μάνγκο' } ;

// Λήψη του τελευταίου στοιχείου

cout << φρούτα. πίσω ( ) << endl ;



// Αρχικοποίηση φορέα - λαχανικά

διάνυσμα < σειρά > λαχανικά ;

// Προσπαθήστε να ανακτήσετε το τελευταίο στοιχείο

cout << λαχανικά. πίσω ( ) ;

}

Παραγωγή:

Το «μάνγκο» είναι το τελευταίο στοιχείο που υπάρχει στο διάνυσμα των «φρούτων». Άρα, επιστρέφεται. Όμως, παρουσιάζεται σφάλμα όταν προσπαθούμε να φέρουμε το τελευταίο στοιχείο από το διάνυσμα 'λαχανικά' αφού είναι κενό.

Εκχωρήστε νέες τιμές σε ένα διάνυσμα

Σε ορισμένα σενάρια, εάν θέλετε να ενημερώσετε όλες τις τιμές με τη νέα τιμή ή να δημιουργήσετε ένα διάνυσμα με τις ίδιες τιμές, η χρήση της συνάρτησης vector::assign() είναι η καλύτερη προσέγγιση. Χρησιμοποιώντας αυτή τη συνάρτηση, μπορούμε:

  1. Δημιουργήστε το διάνυσμα με όλα τα παρόμοια στοιχεία
  2. Τροποποιήστε το υπάρχον διάνυσμα με το ίδιο στοιχείο

Σύνταξη:

διάνυσμα. αναθέτω ( μέγεθος, αξία )

Για αυτή τη λειτουργία απαιτούνται δύο παράμετροι.

Εδώ:

  1. Το μέγεθος καθορίζει τον αριθμό των στοιχείων που θα εκχωρηθούν.
  2. Η τιμή καθορίζει το στοιχείο που θα εκχωρηθεί.

Ας δημιουργήσουμε ένα διάνυσμα με το όνομα 'marks1' με πέντε τιμές και ας ενημερώσουμε αυτό το διάνυσμα με τέσσερα στοιχεία έτσι ώστε όλα τα στοιχεία στο ενημερωμένο διάνυσμα να είναι ίσα με 20.

#include <αλγόριθμος>

#include

#include <διάνυσμα>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία φορέα - σημάδια1

διάνυσμα < ενθ > σημάδια 1 = { 100 , 90 , 80 , 70 , 60 } ;

cout << 'Πραγματικός φορέας:' << endl ;

Για ( ενθ Εγώ = 0 ; Εγώ < σημάδια 1. Μέγεθος ( ) ; Εγώ ++ )

cout << σημάδια 1 [ Εγώ ] << endl ;



σημάδια 1. αναθέτω ( 4 , είκοσι ) ;



cout << ' \n Ενημερωμένο διάνυσμα:' << endl ;

Για ( ενθ Εγώ = 0 ; Εγώ < σημάδια 1. Μέγεθος ( ) ; Εγώ ++ )

cout << σημάδια 1 [ Εγώ ] << endl ;

}

Παραγωγή:

Προηγουμένως, το διάνυσμα περιέχει πέντε διαφορετικά στοιχεία. Τώρα, περιέχει μόνο τέσσερα στοιχεία και όλα είναι ίσα με 20.

Επεκτείνετε το διάνυσμα χρησιμοποιώντας το Emplace()

Γνωρίζουμε ήδη ότι νέα στοιχεία εισάγονται δυναμικά σε οποιαδήποτε θέση σε ένα διάνυσμα. Είναι δυνατό χρησιμοποιώντας τη συνάρτηση vector::emplace(). Ας δούμε γρήγορα τη σύνταξη και τις παραμέτρους που γίνονται δεκτές από αυτή τη συνάρτηση.

Σύνταξη:

διάνυσμα. τοποθεσία ( const_iterator θέση, στοιχείο )

Δύο υποχρεωτικές παράμετροι μεταβιβάζονται σε αυτή τη συνάρτηση.

Εδώ:

  1. Η πρώτη παράμετρος παίρνει τη θέση έτσι ώστε να μπορούμε να εισάγουμε το στοιχείο σε οποιαδήποτε θέση. Μπορούμε να πάρουμε τη θέση χρησιμοποιώντας τη συνάρτηση επανάληψης start() ή end().
  2. Η δεύτερη παράμετρος είναι το στοιχείο που θα εισαχθεί στο διάνυσμα.

Εξετάστε το διάνυσμα «χημικών» με δύο στοιχεία.

  1. Εισαγάγετε το 'Μαγγάνιο' στην πρώτη θέση - έναρξη (χημικά)
  2. Εισαγάγετε το 'Copper' στην τελευταία θέση - άκρο (χημικά)
  3. Εισαγάγετε το «Sulphur» στην τρίτη θέση – start(chemicals)+2
#include <αλγόριθμος>

#include

#include <διάνυσμα>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία φορέα - χημικών

διάνυσμα < σειρά > χημικά = { 'Οξυγόνο' , 'CO' } ;

cout << 'Πραγματικά Χημικά:' << endl ;

Για ( ενθ Εγώ = 0 ; Εγώ < χημικά. Μέγεθος ( ) ; Εγώ ++ )

cout << χημικά [ Εγώ ] << endl ;



// Εισαγωγή στοιχείου στην πρώτη θέση

χημικά. τοποθεσία ( αρχίζουν ( χημικά ) , 'Μαγγάνιο' ) ;



// Εισαγωγή στοιχείου στην τελευταία θέση

χημικά. τοποθεσία ( τέλος ( χημικά ) , 'Χαλκός' ) ;



// Εισαγωγή στοιχείου στην τρίτη θέση

χημικά. τοποθεσία ( αρχίζουν ( χημικά ) + 2 , 'Θείο' ) ;



cout << ' \n Τελικές χημικές ουσίες:' << endl ;

Για ( ενθ Εγώ = 0 ; Εγώ < χημικά. Μέγεθος ( ) ; Εγώ ++ )

cout << χημικά [ Εγώ ] << endl ;

}

Παραγωγή:

Τώρα, το τελικό διάνυσμα περιέχει πέντε στοιχεία (παρέχονται στο παρακάτω στιγμιότυπο οθόνης).

Επεκτείνετε το διάνυσμα χρησιμοποιώντας το Emplace_Back()

Ένα στοιχείο μπορεί να προσαρτηθεί (προσθήκη στο τέλος του διανύσματος) το οποίο μπορεί να γίνει χρησιμοποιώντας το vector::emplace_back() λειτουργία.

Σύνταξη:

διάνυσμα. emplace_back ( στοιχείο )

Είναι υποχρεωτικό να περάσει το στοιχείο που θα προσαρτηθεί στο διάνυσμα ως παράμετρος.

Ας προσθέσουμε δύο στοιχεία το ένα μετά το άλλο χρησιμοποιώντας τη συνάρτηση emplace_back().

#include <αλγόριθμος>

#include

#include <διάνυσμα>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία φορέα - χημικών

διάνυσμα < σειρά > χημικά = { 'Οξυγόνο' , 'CO' } ;

cout << 'Πραγματικά Χημικά:' << endl ;

Για ( ενθ Εγώ = 0 ; Εγώ < χημικά. Μέγεθος ( ) ; Εγώ ++ )

cout << χημικά [ Εγώ ] << endl ;



// Εισαγάγετε το μαγγάνιο στο τέλος του διανύσματος

χημικά. emplace_back ( 'Μαγγάνιο' ) ;



// Εισαγάγετε το μαγγάνιο στο τέλος του διανύσματος

χημικά. emplace_back ( 'Χαλκός' ) ;





cout << ' \n Τελικές χημικές ουσίες:' << endl ;

Για ( ενθ Εγώ = 0 ; Εγώ < χημικά. Μέγεθος ( ) ; Εγώ ++ )

cout << χημικά [ Εγώ ] << endl ;

}

Παραγωγή:

Τώρα, το τελικό διάνυσμα περιέχει τέσσερα στοιχεία μετά την προσθήκη 'Μαγγανίου' και 'Χαλκού'.

Μέγιστο στοιχείο ενός διανύσματος

  1. Δημιουργήστε ένα διάνυσμα με ορισμένα στοιχεία.
  2. Για να βρείτε το μέγιστο στοιχείο που υπάρχει στο διάνυσμα, χρησιμοποιήστε τη συνάρτηση *max_element() που δέχεται δύο επαναλήπτες ως ορίσματα. Αυτές οι δύο παράμετροι λειτουργούν ως εύρος και το μέγιστο στοιχείο επιστρέφεται εντός του παρεχόμενου εύρους. Η αρχική θέση είναι start() και η τελευταία θέση είναι end().
* μέγιστο_στοιχείο ( first_Index,last_Index )

Ας εξετάσουμε ένα διάνυσμα με το όνομα 'item_costs' που περιέχει πέντε τιμές ακέραιου τύπου και ας επιστρέψουμε το μέγιστο στοιχείο.

#include <διάνυσμα>

#include

#include <αλγόριθμος>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία διανύσματος - item_costs

διάνυσμα < ενθ > στοιχείο_κόστος = { 8900 , 5677 , 200 , 1000 , 2300 } ;



cout << 'Κόστος αντικειμένων: \n ' ;

Για ( ενθ Εγώ = 0 ; Εγώ < στοιχείο_κόστος. Μέγεθος ( ) ; Εγώ ++ )

cout << στοιχείο_κόστος [ Εγώ ] << endl ;



// Επιστρέψτε το μέγιστο στοιχείο από το παραπάνω διάνυσμα - item_costs

cout << ' \n Μέγιστο κόστος: ' << * μέγιστο_στοιχείο ( αρχίζουν ( στοιχείο_κόστος ) ,τέλος ( στοιχείο_κόστος ) ) ;

}

Παραγωγή:

Εδώ, το 8900 είναι το μέγιστο στοιχείο μεταξύ όλων των στοιχείων που υπάρχουν στο διάνυσμα «στοιχείο_κόστος».

Ελάχιστο στοιχείο ενός διανύσματος

  1. Δημιουργήστε ένα διάνυσμα με ορισμένα στοιχεία.
  2. Για να βρείτε το ελάχιστο στοιχείο που υπάρχει στο διάνυσμα, χρησιμοποιήστε τη συνάρτηση *min_element() που δέχεται δύο επαναλήπτες ως ορίσματα. Αυτές οι δύο παράμετροι λειτουργούν καθώς το εύρος και το ελάχιστο στοιχείο (λιγότερο από όλα τα άλλα στοιχεία) επιστρέφεται εντός του παρεχόμενου εύρους. Η αρχική θέση είναι start() και η τελευταία θέση είναι end().
* min_στοιχείο ( first_Index,last_Index )

Χρησιμοποιήστε το ίδιο διάνυσμα που δημιουργείται για να βρείτε το μέγιστο στοιχείο και να βρείτε το ελάχιστο στοιχείο χρησιμοποιώντας τη συνάρτηση *min_element().

#include <διάνυσμα>

#include

#include <αλγόριθμος>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία διανύσματος - item_costs

διάνυσμα < ενθ > στοιχείο_κόστος = { 8900 , 5677 , 200 , 1000 , 2300 } ;



cout << 'Κόστος αντικειμένων: \n ' ;

Για ( ενθ Εγώ = 0 ; Εγώ < στοιχείο_κόστος. Μέγεθος ( ) ; Εγώ ++ )

cout << στοιχείο_κόστος [ Εγώ ] << endl ;



// Επιστρέψτε το ελάχιστο στοιχείο από το παραπάνω διάνυσμα - item_costs

cout << ' \n Ελάχιστο κόστος: ' << * min_στοιχείο ( αρχίζουν ( στοιχείο_κόστος ) ,τέλος ( στοιχείο_κόστος ) ) ;

}

Παραγωγή:

Εδώ, το 200 είναι το ελάχιστο στοιχείο μεταξύ όλων των στοιχείων που υπάρχουν στο διάνυσμα 'στοιχείο_κόστος'.

Άθροισμα στοιχείων σε ένα διάνυσμα

Για να επιστρέψετε το άθροισμα όλων των στοιχείων που υπάρχουν στο διάνυσμα, το συσσωρεύω() χρησιμοποιείται η συνάρτηση σε C++ STL. Δέχεται τρεις παραμέτρους. Η πρώτη παράμετρος παίρνει τον πρώτο δείκτη που αντιπροσωπεύει το αρχικό στοιχείο στην περιοχή (καθορίστε τον επαναλήπτη start()) και η δεύτερη παράμετρος παίρνει τον τελευταίο δείκτη που αντιπροσωπεύει το τελικό στοιχείο στην περιοχή (καθορίστε τον επαναλήπτη end()) . Τέλος, πρέπει να περάσουμε την αρχική τιμή του αθροίσματος (στην περίπτωσή μας είναι 0).

συσσωρεύω ( first_index, last_index, initial_val ) ;

Δημιουργήστε ένα διάνυσμα με το όνομα 'item_costs' με πέντε στοιχεία ακέραιου τύπου και υπολογίστε το άθροισμα.

#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία διανύσματος - item_costs

διάνυσμα < ενθ > στοιχείο_κόστος = { 8900 , 5677 , 200 , 1000 , 2300 } ;



cout << 'Κόστος αντικειμένων: \n ' ;

Για ( ενθ Εγώ = 0 ; Εγώ < στοιχείο_κόστος. Μέγεθος ( ) ; Εγώ ++ )

cout << στοιχείο_κόστος [ Εγώ ] << endl ;



// Επιστρέφετε το άθροισμα όλων των στοιχείων στο παραπάνω διάνυσμα - item_costs

cout << ' \n Συνολικό κόστος: ' << συσσωρεύω ( αρχίζουν ( στοιχείο_κόστος ) ,τέλος ( στοιχείο_κόστος ) , 0 ) ;

}

Παραγωγή:

Το άθροισμα των 8900, 5677, 200, 1000, 2300 είναι 18077.

Πολλαπλασιασμός δύο διανυσμάτων με γνώμονα το στοιχείο

  1. Δημιουργήστε δύο διανύσματα με τύπο αριθμητικό και δύο διανύσματα πρέπει να έχουν το ίδιο μέγεθος (συνολικός αριθμός στοιχείων που υπάρχουν στο πρώτο διάνυσμα = συνολικός αριθμός στοιχείων που υπάρχουν στο δεύτερο διάνυσμα).
  2. Δηλώστε ένα νέο διάνυσμα και χρησιμοποιήστε το για βρόχο , εκτελέστε τη λειτουργία πολλαπλασιασμού σε δύο στοιχεία σε κάθε επανάληψη και αποθηκεύστε την τιμή στο δημιουργημένο διάνυσμα χρησιμοποιώντας τη συνάρτηση push_back().
  3. Για ( ενθ itr = 0 ; Εγώ < first_vec. Μέγεθος ( ) ; itr ++ )

    {

    αποτέλεσμα_διάνυσμα. push_back ( first_vec [ itr ] * sec_thing [ itr ] ) ;

    }
  4. Εμφανίστε τα στοιχεία που υπάρχουν στο διάνυσμα που προκύπτει επαναλαμβάνοντας το.

Δημιουργήστε ένα διάνυσμα με το όνομα 'item_costs' με πέντε στοιχεία ακέραιου τύπου και υπολογίστε το άθροισμα.

#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργήστε δύο διανύσματα - προϊόντα1 και προϊόντα2 με 5 στοιχεία το καθένα

διάνυσμα < ενθ > προϊόντα 1 = { 10 , είκοσι , 30 , 40 , πενήντα } ;

διάνυσμα < ενθ > προϊόντα2 = { πενήντα , 40 , 30 , 70 , 60 } ;



διάνυσμα < ενθ > αποτέλεσμα_προϊόντων ;



// Εκτελέστε πολλαπλασιασμό βάσει στοιχείων

Για ( ενθ Εγώ = 0 ; Εγώ < προϊόντα 1. Μέγεθος ( ) ; Εγώ ++ ) {

αποτέλεσμα_προϊόντων. push_back ( προϊόντα 1 [ Εγώ ] * προϊόντα2 [ Εγώ ] ) ;

}



// Εμφάνιση του διανύσματος που προκύπτει

cout << 'Διανυσματικός πολλαπλασιασμός: \n ' ;

Για ( ενθ res : αποτέλεσμα_προϊόντων )

cout << res << endl ;

}

Παραγωγή:

Επανάληψη - 1 : 10 * πενήντα => 500

Επανάληψη - 2 : είκοσι * 40 => 800

Επανάληψη - 3 : 30 * 30 => 900

Επανάληψη - 4 : 40 * 70 => 2800

Επανάληψη - 5 : πενήντα * 60 => 3000

Τελική γινόμενο δύο διανυσμάτων

Στην περίπτωση των διανυσμάτων C++, το γινόμενο με τελείες ορίζεται ως το «άθροισμα των γινομένων των αντίστοιχων καταχωρήσεων των δύο ακολουθιών διανυσμάτων».

Σύνταξη:

εσωτερικο προιον ( Πρώτα το διάνυσμα 1, το τελευταίο το διάνυσμα 1, το πρώτο το διάνυσμα 2, η αρχική_τιμή )

Χρησιμοποιήστε τη συνάρτηση inner_product() για να επιστρέψετε το γινόμενο με τελείες. Αυτή η συνάρτηση παίρνει τέσσερις απαιτούμενες παραμέτρους.

Εδώ:

  1. Η πρώτη παράμετρος αναφέρεται σε έναν επαναλήπτη που δείχνει στην αρχή του πρώτου διανύσματος (καθορίστε χρησιμοποιώντας τη συνάρτηση start()).
  2. Η δεύτερη παράμετρος αναφέρεται σε έναν επαναλήπτη που δείχνει το τέλος του πρώτου διανύσματος (καθορίστε χρησιμοποιώντας τη συνάρτηση end()).
  3. Η τρίτη παράμετρος αναφέρεται σε έναν επαναλήπτη που δείχνει στην αρχή του δεύτερου διανύσματος (καθορίστε χρησιμοποιώντας τη συνάρτηση start()).
  4. Η αρχική τιμή πρέπει να μεταβιβαστεί ως η τελευταία παράμετρος που είναι ακέραιος για τη συσσώρευση του γινόμενου κουκίδων.

Χρησιμοποιήστε το ίδιο πρόγραμμα που δημιουργείται για τον πολλαπλασιασμό δύο διανυσμάτων και χρησιμοποιήστε τη συνάρτηση innsr_product() για να βρείτε το γινόμενο κουκίδων των δύο διανυσμάτων.

#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργήστε δύο διανύσματα - προϊόντα1 και προϊόντα2 με 5 στοιχεία το καθένα

διάνυσμα < ενθ > προϊόντα 1 = { 10 , είκοσι , 30 , 40 , πενήντα } ;

διάνυσμα < ενθ > προϊόντα2 = { πενήντα , 40 , 30 , 70 , 60 } ;



// Εμφάνιση του διανύσματος που προκύπτει

cout << 'Τελεία προϊόντος προϊόντων1 και προϊόντων2: ' ;

cout << εσωτερικο προιον ( αρχίζουν ( προϊόντα 1 ) ,τέλος ( προϊόντα 1 ) ,αρχίζουν ( προϊόντα2 ) , 0 ) ;

}

Παραγωγή:

( 10 * πενήντα ) + ( είκοσι * 40 ) + ( 30 * 30 ) + ( 40 * 70 ) + ( πενήντα * 60 )

=> 500 + 800 + 900 + 2800 + 3000

=> 8000

Μετατρέψτε ένα σύνολο σε διάνυσμα

Υπάρχουν πολλοί τρόποι για να μετατρέψετε ένα σύνολο σε διάνυσμα περνώντας όλα τα στοιχεία που ανεβαίνουν σε ένα σύνολο σε διάνυσμα. Ο καλύτερος και απλούστερος τρόπος είναι να χρησιμοποιήσετε τη συνάρτηση std::copy().

Σύνταξη

std :: αντίγραφο ( sourceIterator πρώτα, sourceIterator τελευταίο, destinationIterator πρώτα )

Χρησιμοποιήστε το std::copy() συνάρτηση που εισάγει τα στοιχεία από ένα σύνολο στο διάνυσμα. Χρειάζονται τρεις παραμέτρους.

Εδώ:

  1. Η πρώτη παράμετρος αναφέρεται στον επαναλήπτη πηγής που δείχνει στο πρώτο στοιχείο του επαναλήπτη. Εδώ, το set είναι ο επαναλήπτης πηγής που καθορίζεται χρησιμοποιώντας τη συνάρτηση start().
  2. Ομοίως, η δεύτερη παράμετρος δείχνει το τελευταίο στοιχείο (συνάρτηση end()).
  3. Η τρίτη παράμετρος αναφέρεται στον επαναλήπτη προορισμού που οδηγεί στο πρώτο στοιχείο (που καθορίζεται χρησιμοποιώντας τη συνάρτηση start())  στον επαναλήπτη.

Ας δημιουργήσουμε ένα σύνολο με πέντε μαθητές και ας αντιγράψουμε όλα τα στοιχεία σε ένα διάνυσμα χρησιμοποιώντας την προηγούμενη συνάρτηση.

#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία συνόλου - μαθητές με 5 στοιχεία

σειρά < σειρά > Φοιτητές = { 'Σραβάν' , 'Αγγλος αστυφύλακας' , 'Madhu' , 'Meghana' , 'Λαβάνια' } ;

cout << 'Σειρά: \n ' ;

Για ( χορδή θ : Φοιτητές )

cout << Εγώ << endl ;



// Create Vector - student_vcof μέγεθος ίσο με το μέγεθος του συνόλου

διάνυσμα < σειρά > student_vc ( Φοιτητές. Μέγεθος ( ) ) ;



// Εισαγωγή στοιχείων από ένα σύνολο - μαθητές σε ένα διάνυσμα - student_vc.

αντίγραφο ( Φοιτητές. αρχίζουν ( ) , Φοιτητές. τέλος ( ) , student_vc. αρχίζουν ( ) ) ;



cout << ' \n Διάνυσμα: \n ' ;

Για ( χορδή θ : student_vc )

cout << Εγώ << endl ;

}

Παραγωγή:

Τώρα, όλα τα στοιχεία που υπάρχουν στο σύνολο 'Students' αντιγράφονται στο διάνυσμα 'students_vc'.

Αφαιρέστε τα διπλότυπα στοιχεία

  1. Αρχικά, πρέπει να ταξινομήσουμε τα στοιχεία στο διάνυσμα έτσι ώστε όλα τα διπλά στοιχεία να είναι γειτονικά το ένα με το άλλο χρησιμοποιώντας το std:: sort() λειτουργία.
  2. std :: είδος ( Διάνυσμα πρώτο, διάνυσμα τελευταίο ) ;
  3. Χρησιμοποιήστε τη συνάρτηση std::unique() έτσι ώστε να επιλεγούν τα διπλά στοιχεία. Ταυτόχρονα, χρησιμοποιήστε τη συνάρτηση erase() για να αφαιρέσετε τα διπλότυπα που επιστρέφονται από τη συνάρτηση std::unique(). Η σειρά των στοιχείων μπορεί να αλλάξει στο τελικό διάνυσμα.
  4. διάνυσμα. εξάλειψη ( std :: μοναδικός ( Διάνυσμα πρώτο, διάνυσμα τελευταίο ) , Διάνυσμα τελευταίο ) )

Δημιουργήστε το διάνυσμα 'μαθητές' με 10 στοιχεία και επιστρέψτε το διάνυσμα αφαιρώντας τα διπλότυπα.

#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία διανύσματος - μαθητές με 10 στοιχεία

διάνυσμα < σειρά > Φοιτητές = { 'Σραβάν' , 'Αγγλος αστυφύλακας' , 'Madhu' , 'Meghana' , 'Λαβάνια' ,

'Σραβάν' , 'Αγγλος αστυφύλακας' , 'Madhu' , 'Meghana' , 'Λαβάνια' } ;

cout << 'Φοιτητές: \n ' ;

Για ( χορδή θ : Φοιτητές )

cout << Εγώ << '' ;



// Ταξινόμηση όλων των στοιχείων στο διάνυσμα μαθητές.

είδος ( αρχίζουν ( Φοιτητές ) , τέλος ( Φοιτητές ) ) ;



// Χρησιμοποιήστε τη συνάρτηση unique() για να αφαιρέσετε τα διπλότυπα με τη συνάρτηση erase().

Φοιτητές. εξάλειψη ( μοναδικός ( αρχίζουν ( Φοιτητές ) , τέλος ( Φοιτητές ) ) , τέλος ( Φοιτητές ) ) ;



cout << ' \n \n Μοναδικοί μαθητές: \n ' ;

Για ( αυτο itr = cαρχίζουν ( Φοιτητές ) ; itr ! = λίγα ( Φοιτητές ) ; ++ itr ) {

cout << * itr << '' ;

}

}

Παραγωγή:

Τώρα, όλα τα στοιχεία είναι μοναδικά στο διάνυσμα.

Μετατρέψτε ένα διάνυσμα σε σύνολο

Το σύνολο δεν επιτρέπει τα διπλά στοιχεία. Εάν πληκτρολογείτε για να εισαγάγετε ένα διάνυσμα σε ένα σύνολο με διπλότυπα, θα αγνοηθούν. Χρησιμοποιούμε την ίδια συνάρτηση std::copy() που χρησιμοποιήθηκε στο προηγούμενο σενάριο που μετέτρεψε το σύνολο σε διάνυσμα.

Σε αυτό το σενάριο:

  1. Η πρώτη παράμετρος παίρνει το διάνυσμα ως επαναλήπτη πηγής που καθορίζεται χρησιμοποιώντας τη συνάρτηση start().
  2. Η δεύτερη παράμετρος παίρνει το διάνυσμα ως επαναλήπτη πηγής που καθορίζεται χρησιμοποιώντας τη συνάρτηση end().
  3. Περάστε τη συνάρτηση std::inserter() που χρησιμοποιείται για την αυτόματη αντικατάσταση/αντιγραφή των στοιχείων σε μια συγκεκριμένη θέση στο σύνολο, παρέχοντας το σύνολο και τον επαναλήπτη που δείχνουν στο τέλος του συνόλου ως παραμέτρους.

Ας δημιουργήσουμε ένα διάνυσμα με 10 ακέραιους αριθμούς και ας αντιγράψουμε τα στοιχεία σε ένα σύνολο.

#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία συνόλου - σημειώνει με 10 τιμές

διάνυσμα < ενθ > σημάδια = { 12 , 3. 4 , 56 , 78 , 65 , 78 , 90 , 90 , 78 , 3. 4 } ;

cout << 'Διάνυσμα: \n ' ;

Για ( ενθ Εγώ : σημάδια )

cout << Εγώ << '' ;



// Create Set - marks_set με μέγεθος ίσο με το μέγεθος του διανύσματος

σειρά < ενθ > σημάδια_σύνολο ;



// Εισαγωγή στοιχείων από ένα σύνολο - μαθητές σε ένα διάνυσμα - student_vc.

αντίγραφο ( αρχίζουν ( σημάδια ) ,τέλος ( σημάδια ) , εισαγωγέας ( σημάδια_σύνολο, τέλος ( σημάδια_σύνολο ) ) ) ;



cout << ' \n \n Σειρά: \n ' ;

Για ( ενθ Εγώ : σημάδια_σύνολο )

cout << Εγώ << '' ;

}

Παραγωγή:

Το υπάρχον διάνυσμα με το όνομα 'σημάδια' έχει 10 τιμές. Αφού το αντιγράψετε στο σύνολο 'marks_set', περιέχει μόνο έξι στοιχεία επειδή τα άλλα τέσσερα στοιχεία είναι διπλά.

Αφαιρέστε τις κενές συμβολοσειρές

Δεν χρησιμοποιούνται κενές συμβολοσειρές που υπάρχουν σε ένα διάνυσμα. Είναι μια καλή πρακτική να αφαιρέσετε τις κενές συμβολοσειρές που υπάρχουν στο διάνυσμα. Ας δούμε πώς να αφαιρέσετε τις κενές συμβολοσειρές από το διάνυσμα C++:

  1. Επαναλάβετε το διάνυσμα χρησιμοποιώντας τον βρόχο 'for'.
  2. Σε κάθε επανάληψη, ελέγξτε αν το στοιχείο είναι κενό (“”) ή δεν χρησιμοποιεί τον τελεστή “==” με τη συνάρτηση μέλους at().
  3. Χρησιμοποιώντας τη συνάρτηση std::erase(), αφαιρέστε τις κενές συμβολοσειρές αφού ελέγξετε την προηγούμενη συνθήκη.
  4. Επαναλάβετε το βήμα 2 και το βήμα 3 μέχρι το τέλος του διανύσματος.

Ας δημιουργήσουμε το διάνυσμα 'εταιρείες' με 10 συμβολοσειρές. Μεταξύ αυτών, πέντε είναι κενά και τα αφαιρούμε εφαρμόζοντας την προηγούμενη προσέγγιση.

#include

#include <διάνυσμα>

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( ) {



διάνυσμα < σειρά > εταιρείες { 'Εταιρεία-Α' , '' , 'Εταιρεία-Β' ,

'' , 'Εταιρεία-Γ' , '' , 'Εταιρεία-Δ' , '' , '' , '' } ;



// Επανάληψη σε εταιρείες

// και αφαιρέστε τα κενά στοιχεία χρησιμοποιώντας erase()

Για ( ενθ itr = 1 ; itr < εταιρείες. Μέγεθος ( ) ; ++ itr ) {

αν ( εταιρείες. στο ( itr ) == '' ) {

εταιρείες. εξάλειψη ( εταιρείες. αρχίζουν ( ) + itr ) ;

-- itr ;

}
}

// Εμφάνιση του διανύσματος


Για ( αυτο & Εγώ : εταιρείες ) {

cout << Εγώ << endl ;

}

}

Παραγωγή:

Τώρα, το διάνυσμα 'εταιρείες' κρατά τις μη κενές συμβολοσειρές.

Γράψτε ένα διάνυσμα σε ένα αρχείο κειμένου

Ας συζητήσουμε πώς να γράψουμε όλα τα στοιχεία που υπάρχουν σε ένα διάνυσμα σε ένα αρχείο χρησιμοποιώντας τους διανυσματικούς δείκτες χρησιμοποιώντας το fstream .

  1. Σπρώξτε μερικά στοιχεία σε αυτό χρησιμοποιώντας τη συνάρτηση push_back μετά την προετοιμασία του διανύσματος.
  2. Χρησιμοποιήστε τη συνάρτηση open() από τη βιβλιοθήκη «fstream» με τη λειτουργία ως έξω.
  3. Διασχίστε κάθε στοιχείο που υπάρχει στο διάνυσμα χρησιμοποιώντας τους δείκτες σε έναν βρόχο «για» και γράψτε κάθε στοιχείο στο παρεχόμενο αρχείο.
  4. Τέλος, κλείστε το αρχείο.

Ας εφαρμόσουμε την προηγούμενη προσέγγιση εκτελώντας έναν κώδικα C++.

#include <διάνυσμα>

#include

#include

#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Δημιουργία φορέα - v_data

// και σπρώξτε δύο στοιχεία σε αυτό.

διάνυσμα < σειρά > v_data ;

v_data. push_back ( 'Καλως ΗΡΘΑΤΕ' ) ;

v_data. push_back ( 'to LinuxHint' ) ;

ρέμα f ;



// Ανοίξτε το αρχείο

φά. Άνοιξε ( 'written_file.txt' ,ios_base :: έξω ) ;

// Επαναλάβετε κάθε στοιχείο του διανύσματος και γράψτε στο αρχείο ένα προς ένα.

Για ( ενθ Εγώ = 0 ; Εγώ < v_data. Μέγεθος ( ) ; Εγώ ++ )

{

φά << v_data [ Εγώ ] << endl ;

}

// Κλείστε το αρχείο

φά. Κλείσε ( ) ;

}

Παραγωγή:

Το διάνυσμα 'v_data' περιέχει δύο στοιχεία και δημιουργείται ένα αρχείο στη διαδρομή όπου εκτελείται το πρόγραμμα με τα στοιχεία που υπάρχουν στο διάνυσμα.

Δημιουργήστε ένα διάνυσμα από ένα αρχείο κειμένου

Μάθαμε πώς να γράφουμε τα στοιχεία που υπάρχουν στο διάνυσμα σε ένα αρχείο κειμένου. Εδώ, ας δημιουργήσουμε ένα διάνυσμα από το περιεχόμενο που υπάρχει στο αρχείο κειμένου.

  1. Δημιουργήστε ένα ' ifstream' μεταβλητή η οποία χρησιμοποιείται για την ανάγνωση των πληροφοριών από το αρχείο κειμένου στο οποίο δημιουργούμε το διάνυσμα από το αρχείο.
  2. Δημιουργήστε ένα κενό διάνυσμα για να αποθηκεύσετε το περιεχόμενο του αρχείου και χρησιμοποιήστε μια κενή μεταβλητή συμβολοσειράς ως σημαία για να ελέγξετε το τέλος του αρχείου.
  3. Διαβάστε την επόμενη γραμμή από το αρχείο μέχρι να φτάσει στο τέλος (βασικά χρησιμοποιώντας τον βρόχο 'while'). Χρησιμοποιήστε τη συνάρτηση push_back() για να διαβάσετε την επόμενη γραμμή και να την σπρώξετε στο διάνυσμα.
  4. Εμφανίστε τη γραμμή που υπάρχει στη γραμμή ξεχωριστά για να δείτε τα στοιχεία που υπάρχουν στο διάνυσμα στην κονσόλα.

Ας εφαρμόσουμε την προηγούμενη προσέγγιση εκτελώντας τον κώδικα C++. Ας εξετάσουμε το αρχείο 'data.txt' με το ακόλουθο περιεχόμενο. Εδώ, το όνομα του διανύσματος είναι 'v_data'.

#include

χρησιμοποιώντας χώρο ονομάτων std ;

κύριος ( )

{

// Ανοίξτε το αρχείο κειμένου - δεδομένα
αρχείο ifstream ( 'data.txt' ) ;

// Δημιουργία vector - v_data τύπου - string


διάνυσμα < σειρά > v_data ;

στρινγκ ήταν ;

// Διαβάστε την επόμενη γραμμή από το data.txt
// μέχρι να φτάσει στο τέλος.


ενώ ( αρχείο >> ήταν ) {

// Διαβάστε την επόμενη γραμμή και πιέστε το v_data

v_data. push_back ( ήταν ) ;

}



// Εμφάνιση της γραμμής που υπάρχει στη γραμμή ξεχωριστά.

αντίγραφο ( v_data. αρχίζουν ( ) , v_data. τέλος ( ) , ostream_iterator < σειρά > ( cout , ' \n ' ) ) ;

}

Παραγωγή:

Μπορούμε να δούμε ότι το 'v_data' περιέχει πέντε στοιχεία που προέρχονται από το αρχείο.

συμπέρασμα

Σε αυτό το εκτενές άρθρο, εξερευνήσαμε όλα τα πιθανά παραδείγματα που χρησιμοποιούνται σε εφαρμογές σε πραγματικό χρόνο που σχετίζονται με διανύσματα στη γλώσσα προγραμματισμού C++. Κάθε παράδειγμα εξηγείται με σύνταξη, παραμέτρους και παράδειγμα με έξοδο. Σχόλια προστίθενται σε κάθε κώδικα για να έχετε μια σαφή κατανόηση του κώδικα.