Χρήση της συνάρτησης Vector Pop_Back () σε C ++

Use Vector Pop_back Function C



Το μέγεθος του διανύσματος μπορεί να μειωθεί χρησιμοποιώντας διαφορετικές ενσωματωμένες συναρτήσεις της C ++. Η συνάρτηση pop_back () είναι μία από αυτές. Χρησιμοποιείται για την αφαίρεση του τελευταίου στοιχείου του διανύσματος από την πίσω πλευρά και τη μείωση του μεγέθους του διανύσματος κατά 1. Αλλά το τελευταίο στοιχείο του διανύσματος δεν αφαιρείται οριστικά όπως η συνάρτηση διαγραφής (). Οι διαφορετικές χρήσεις αυτής της συνάρτησης έχουν εξηγηθεί σε αυτό το σεμινάριο.

Σύνταξη:

διάνυσμα::pop_back()?

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







Προαπαιτούμενο:

Πριν ελέγξετε τα παραδείγματα αυτού του σεμιναρίου, πρέπει να ελέγξετε ότι ο μεταγλωττιστής g ++ είναι εγκατεστημένος ή όχι στο σύστημα. Εάν χρησιμοποιείτε Visual Studio Code, εγκαταστήστε τις απαραίτητες επεκτάσεις για να μεταγλωττίσετε τον πηγαίο κώδικα C ++ για να δημιουργήσετε τον εκτελέσιμο κώδικα. Εδώ, η εφαρμογή Visual Studio Code χρησιμοποιήθηκε για τη μεταγλώττιση και την εκτέλεση του κώδικα C ++. Οι τρόποι μείωσης του μεγέθους του διανύσματος χρησιμοποιώντας τη συνάρτηση pop_back () παρουσιάζονται στο επόμενο μέρος αυτού του σεμιναρίου.



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

Δημιουργήστε ένα αρχείο C ++ με τον ακόλουθο κώδικα για να αφαιρέσετε δύο στοιχεία από το διανυσματικό κοντέινερ μειώνοντας το μέγεθος του διανύσματος χρησιμοποιώντας τη συνάρτηση pop_back (). Ένα διάνυσμα 5 τιμών συμβολοσειράς έχει δηλωθεί στον κώδικα. Η συνάρτηση pop_back () κλήθηκε δύο φορές εδώ για να αφαιρέσετε προσωρινά δύο τελευταία στοιχεία από το διάνυσμα και να μειώσετε το μέγεθος του διανύσματος κατά 2. Το περιεχόμενο του διανύσματος έχει εκτυπωθεί δύο φορές πριν και μετά τη χρήση της λειτουργίας pop_back ().



// Συμπεριλάβετε τις απαραίτητες βιβλιοθήκες

#περιλαμβάνω

#περιλαμβάνω

χρησιμοποιώντας ονομαστικου χωρουώρες?

intκύριος() {

// Δηλώστε ένα διάνυσμα τιμών συμβολοσειράς

διάνυσμα<σειρά>>λουλούδια= {'Τριαντάφυλλο','Lity','Κατιφές','Τουλίπα','Water Liiy'}?

κόστος << «Οι τιμές του διανύσματος: n'?

// Επαναλάβετε το διάνυσμα χρησιμοποιώντας βρόχο για να εκτυπώσετε τις τιμές

Για(intΕγώ= 0?Εγώ<λουλούδια.Μέγεθος()? ++Εγώ)

κόστος <<λουλούδια[Εγώ] << ''?

κόστος << ' n'?

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

λουλούδια.pop_back()?

λουλούδια.pop_back()?

κόστος << ' nΟι τιμές του διανύσματος μετά την αφαίρεση: n'?

// Επαναλάβετε το διάνυσμα χρησιμοποιώντας βρόχο για να εκτυπώσετε τις τιμές

Για(intΕγώ= 0?Εγώ<λουλούδια.Μέγεθος()? ++Εγώ)

κόστος <<λουλούδια[Εγώ] << ''?

κόστος << ' n'?

ΕΠΙΣΤΡΟΦΗ 0?

}

Παραγωγή:

Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση του παραπάνω κώδικα.





Παράδειγμα-2: Δημιουργήστε ένα νέο διάνυσμα από άλλο διάνυσμα

Δημιουργήστε ένα αρχείο C ++ με τον ακόλουθο κώδικα για να εισαγάγετε συγκεκριμένες τιμές σε ένα κενό διάνυσμα από άλλο διάνυσμα αφαιρώντας τα στοιχεία χρησιμοποιώντας τη συνάρτηση pop_back (). Ένα διάνυσμα 8 ακέραιων αριθμών και ένα κενό διάνυσμα ακέραιου τύπου έχουν δηλωθεί στον κώδικα. Ο βρόχος 'while' έχει χρησιμοποιηθεί για να επαναλάβει κάθε στοιχείο του πρώτου διανύσματος και να εισαγάγει το στοιχείο στο νέο διάνυσμα εάν ο αριθμός διαιρείται με το 2. Το άθροισμα όλων των ζυγών αριθμών έχει επίσης υπολογιστεί εδώ. Κάθε στοιχείο του πρώτου διανύσματος θα αφαιρεθεί από τη συνάρτηση pop_back () σε κάθε επανάληψη του βρόχου για να φτάσει στην κατάσταση τερματισμού του βρόχου.



// Συμπεριλάβετε τις απαραίτητες βιβλιοθήκες

#περιλαμβάνω

#περιλαμβάνω

χρησιμοποιώντας ονομαστικου χωρουώρες?

intκύριος()

{

// Δηλώστε ένα διάνυσμα ακέραιων δεδομένων

διάνυσμα<int>>intVector{ 5,9,4,7,2,8,1,3 }?

// Δηλώστε ένα κενό διάνυσμα

διάνυσμα<int>>newVector?

κόστος << «Οι τιμές του αρχικού διανύσματος: n'?

// Επαναλάβετε το διάνυσμα χρησιμοποιώντας βρόχο για να εκτυπώσετε τις τιμές

Για(intΕγώ= 0?Εγώ<intVector.Μέγεθος()? ++Εγώ)

κόστος <<intVector[Εγώ] << ''?

κόστος << ' n'?

// Αρχικοποιήστε το αποτέλεσμα

intαποτέλεσμα= 0?

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

ενώ(!intVector.αδειάζω())

{

/ *

Μάθετε τους ζυγούς αριθμούς για εισαγωγή στο newVector

και υπολογίστε το άθροισμα των ζυγών αριθμών

* /


αν (intVector.πίσω() % 2 == 0)

{

αποτέλεσμα+=intVector.πίσω()?

newVector.push_back(intVector.πίσω())?

}

// Αφαίρεση στοιχείου από το τέλος του intVactor

intVector.pop_back()?

}

κόστος << «Οι τιμές του νέου διανύσματος: n'?

// Επαναλάβετε το διάνυσμα χρησιμοποιώντας βρόχο για να εκτυπώσετε τις τιμές

Για(intΕγώ= 0?Εγώ<newVector.Μέγεθος()? ++Εγώ)

κόστος <<newVector[Εγώ] << ''?

κόστος << ' n'?

κόστος << 'Το άθροισμα όλων των ζυγών αριθμών:' <<αποτέλεσμα<< ' n'?

ΕΠΙΣΤΡΟΦΗ 0?

}

Παραγωγή:

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

Παράδειγμα-3: Ελέγξτε ότι το τελευταίο στοιχείο του διανύσματος έχει αφαιρεθεί ή όχι

Αναφέρθηκε νωρίτερα ότι το pop_back () δεν αφαιρεί οριστικά τα στοιχεία από το διάνυσμα και αφαιρεί το στοιχείο μειώνοντας μόνο το μέγεθος του διανύσματος. Έτσι, το αφαιρεθέν στοιχείο παραμένει στην ίδια θέση έως ότου το μέγεθος του διανύσματος αυξηθεί και αντικαταστήσει το στοιχείο με άλλο στοιχείο. Δημιουργήστε ένα αρχείο C ++ με τον ακόλουθο κώδικα για να ελέγξετε εάν το στοιχείο που έχει αφαιρεθεί από τη συνάρτηση pop_back () υπάρχει ή όχι. Η τελευταία θέση του αρχικού διανύσματος έχει εκτυπωθεί πριν και μετά τη χρήση της συνάρτησης pop_back ().

#περιλαμβάνω

#περιλαμβάνω

χρησιμοποιώντας ονομαστικου χωρουώρες?

intκύριος()

{

// Δηλώστε ένα διάνυσμα ακέραιων δεδομένων

διάνυσμα<int>>intVector{ 54,19,46,72,22,83,10,53 }?

// Δηλώστε ένα κενό διάνυσμα

διάνυσμα<int>>newVector?

// Δηλώστε μια ακέραια μεταβλητή

intμήκος?

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

μήκος=intVector.Μέγεθος()?

κόστος << 'Το τρέχον μέγεθος του διανύσματος:' <<μήκος<< ' n'?

κόστος << 'Η τελευταία τιμή του διανύσματος πριν από την αφαίρεση:' <<intVector[μήκος-1] << ' n'?

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

intVector.pop_back()?

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

μήκος=intVector.Μέγεθος()?

κόστος << 'Το τρέχον μέγεθος του διανύσματος:' <<μήκος<< ' n'?

κόστος << 'Η τελευταία τιμή του διανύσματος μετά την αφαίρεση:' <<intVector[μήκος] << ' n'?

ΕΠΙΣΤΡΟΦΗ 0?

}

Παραγωγή:

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

Συμπέρασμα:

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