อาร์เรย์แบบไดนามิกสามารถใช้งานได้โดยใช้เวกเตอร์ใน C ++ สามารถเพิ่มองค์ประกอบลงในเวกเตอร์ได้หลายวิธี ฟังก์ชัน push_back() เป็นอีกวิธีหนึ่งในการแทรกองค์ประกอบใหม่ที่ส่วนท้ายของเวกเตอร์ ซึ่งจะเพิ่มขนาดของเวกเตอร์ขึ้น 1 ฟังก์ชันนี้มีประโยชน์เมื่อต้องมีองค์ประกอบหนึ่งเพื่อเพิ่มลงในเวกเตอร์ หากประเภทข้อมูลของเวกเตอร์ไม่รองรับค่าที่ส่งผ่านโดยอาร์กิวเมนต์ของฟังก์ชันนี้ ก็จะเกิดข้อยกเว้นขึ้น และจะไม่มีการแทรกข้อมูล วิธีการแทรกข้อมูลในเวกเตอร์โดยใช้ฟังก์ชัน push_back() ได้แสดงไว้ในบทช่วยสอนนี้
ไวยากรณ์:
เวกเตอร์ :: ผลักดัน_กลับ ( value_typen ) ;ค่าของ n จะถูกแทรกที่ส่วนท้ายของเวกเตอร์ หากประเภทข้อมูลของเวกเตอร์รองรับประเภทข้อมูลของ n มันกลับไม่มีอะไร
ข้อกำหนดเบื้องต้น:
ก่อนที่จะตรวจสอบตัวอย่างของบทช่วยสอนนี้ คุณต้องตรวจสอบว่ามีการติดตั้งคอมไพเลอร์ g++ อยู่ในระบบหรือไม่ หากคุณใช้ Visual Studio Code ให้ติดตั้งส่วนขยายที่จำเป็นเพื่อคอมไพล์ซอร์สโค้ด C++ เพื่อสร้างโค้ดที่ปฏิบัติการได้ ที่นี่ มีการใช้แอปพลิเคชัน Visual Studio Code เพื่อคอมไพล์และรันโค้ด C++ การใช้งานฟังก์ชัน push_back() แบบต่างๆ เพื่อแทรกองค์ประกอบลงในเวกเตอร์ได้แสดงไว้ในส่วนถัดไปของบทช่วยสอนนี้
ตัวอย่างที่ 1: การเพิ่มองค์ประกอบหลายรายการต่อท้ายเวกเตอร์
สร้างไฟล์ C++ ด้วยโค้ดต่อไปนี้เพื่อแทรกหลายองค์ประกอบที่ส่วนท้ายของเวกเตอร์โดยใช้ฟังก์ชัน push_back() เวกเตอร์ของค่าสตริงสามค่าถูกกำหนดไว้ในโค้ดแล้ว ฟังก์ชัน push_back() ถูกเรียกสามครั้งเพื่อแทรกสามองค์ประกอบที่ส่วนท้ายของเวกเตอร์ เนื้อหาของเวกเตอร์จะถูกพิมพ์ก่อนและหลังการแทรกองค์ประกอบ
//รวมไลบรารีที่จำเป็น
#รวม
#รวม <เวกเตอร์>
โดยใช้ เนมสเปซ มาตรฐาน ;
ภายใน หลัก ( )
{
//ประกาศเวกเตอร์ของค่าสตริง
เวกเตอร์ < เชือก > นก = { 'นกแก้วสีเทา' , 'นกพิราบเพชร' , 'ค็อกเทล' } ;
ศาล << “ค่าของเวกเตอร์ก่อนแทรก: \n ' ;
//วนซ้ำเวกเตอร์โดยใช้ลูปเพื่อพิมพ์ค่า
สำหรับ ( ภายใน ฉัน = 0 ; ฉัน < นก ขนาด ( ) ; ++ ฉัน )
ศาล << นก [ ฉัน ] << ' ' ;
ศาล << ' \n ' ;
/*
เพิ่มค่าสามค่าที่ส่วนท้ายของเวกเตอร์
ใช้ฟังก์ชัน push_back()
*/
นก ผลักดัน_กลับ ( เมน่า ) ;
นก ผลักดัน_กลับ ( 'บัดดี้ส์' ) ;
นก ผลักดัน_กลับ ( 'นกกระตั้ว' ) ;
ศาล << “ค่าของเวกเตอร์หลังการแทรก: \n ' ;
//วนซ้ำเวกเตอร์โดยใช้ลูปเพื่อพิมพ์ค่า
สำหรับ ( ภายใน ฉัน = 0 ; ฉัน < นก ขนาด ( ) ; ++ ฉัน )
ศาล << นก [ ฉัน ] << ' ' ;
ศาล << ' \n ' ;
กลับ 0 ;
}
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน ผลลัพธ์แสดงให้เห็นว่ามีองค์ประกอบใหม่สามองค์ประกอบถูกแทรกไว้ที่ส่วนท้ายของเวกเตอร์
ตัวอย่างที่ 2: แทรกค่าลงในเวกเตอร์โดยการป้อนข้อมูล
สร้างไฟล์ C++ ด้วยโค้ดต่อไปนี้เพื่อแทรกองค์ประกอบลงในเวกเตอร์ว่างโดยรับค่าจากผู้ใช้และใช้ฟังก์ชัน push_back() มีการประกาศเวกเตอร์ว่างของประเภทข้อมูลจำนวนเต็มในโค้ด ถัดไป ลูป 'for' จะนำตัวเลข 5 ตัวจากผู้ใช้มาแทรกตัวเลขลงในเวกเตอร์โดยใช้ฟังก์ชัน push_back() เนื้อหาของเวกเตอร์จะถูกพิมพ์หลังจากการแทรก
//รวมไลบรารีที่จำเป็น#รวม
#รวม <เวกเตอร์>
โดยใช้ เนมสเปซ มาตรฐาน ;
ภายใน หลัก ( )
{
//ประกาศเวกเตอร์จำนวนเต็ม
เวกเตอร์ < ภายใน > intVector ;
//ประกาศจำนวนเต็ม
ภายใน ตัวเลข ;
ศาล << 'กรอก 5 หมายเลข: \n ' ;
/*
วนซ้ำ 5 ครั้งเพื่อแทรกค่าจำนวนเต็ม 5 ค่า
ลงในเวกเตอร์โดยใช้ฟังก์ชัน push_back()
*/
สำหรับ ( ภายใน ฉัน = 0 ; ฉัน < 5 ; ฉัน ++ ) {
การกิน >> ตัวเลข ;
intVector. ผลักดัน_กลับ ( ตัวเลข ) ;
}
ศาล << “ค่าของเวกเตอร์หลังการแทรก: \n ' ;
//วนซ้ำเวกเตอร์โดยใช้ลูปเพื่อพิมพ์ค่า
สำหรับ ( ภายใน ฉัน = 0 ; ฉัน < intVector. ขนาด ( ) ; ++ ฉัน )
ศาล << intVector [ ฉัน ] << ' ' ;
ศาล << ' \n ' ;
กลับ 0 ;
}
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน ผลลัพธ์แสดงให้เห็นว่าตัวเลขห้าตัวที่นำมาจากผู้ใช้ถูกแทรกลงในเวกเตอร์
ตัวอย่างที่ 3: แทรกค่าลงในเวกเตอร์ตามเงื่อนไขเฉพาะ
สร้างไฟล์ C++ ด้วยโค้ดต่อไปนี้เพื่อแทรกตัวเลขเฉพาะจากอาร์เรย์จำนวนเต็มลงในเวกเตอร์ว่าง มีการประกาศเวกเตอร์ว่างและอาร์เรย์จำนวนเต็ม 10 ตัวในโค้ด มีการใช้ลูป 'for' เพื่อวนซ้ำแต่ละค่าของอาร์เรย์และแทรกตัวเลขลงในเวกเตอร์โดยใช้ฟังก์ชัน push_back() หากตัวเลขน้อยกว่า 30 หรือมากกว่า 60 เนื้อหาของเวกเตอร์จะถูกพิมพ์โดยใช้ ฟังก์ชัน display_vector() หลังจากการแทรก
//รวมไลบรารีที่จำเป็น#รวม
#รวม <เวกเตอร์>
โดยใช้ เนมสเปซ มาตรฐาน ;
//แสดงเวกเตอร์
เป็นโมฆะ display_vector ( เวกเตอร์ < ภายใน > ตัวเลข )
{
//พิมพ์ค่าของเวกเตอร์โดยใช้การวนซ้ำ
สำหรับ ( อัตโนมัติ เขา = ตัวเลข เริ่ม ( ) ; เขา ! = ตัวเลข จบ ( ) ; เขา ++ )
ศาล << * เขา << ' ' ;
//เพิ่มบรรทัดใหม่
ศาล << ' \n ' ;
}
ภายใน หลัก ( )
{
//ประกาศเวกเตอร์จำนวนเต็ม
เวกเตอร์ < ภายใน > intVector ;
//ประกาศอาร์เรย์ของตัวเลข
ภายใน myArray [ 10 ] = { 9 , สี่ห้า , 13 , 19 , 30 , 82 , 71 , ห้าสิบ , 35 , 42 } ;
/*
วนซ้ำเพื่ออ่านแต่ละองค์ประกอบของอาร์เรย์
และแทรกค่าเหล่านั้นลงในเวกเตอร์
ซึ่งน้อยกว่า 30 และมากกว่า 60
ใช้ฟังก์ชัน push_back()
*/
สำหรับ ( ภายใน ฉัน = 0 ; ฉัน < 10 ; ฉัน ++ ) {
ถ้า ( myArray [ ฉัน ] < 30 || myArray [ ฉัน ] > 60 )
intVector. ผลักดัน_กลับ ( myArray [ ฉัน ] ) ;
}
ศาล << 'ค่าของเวกเตอร์หลังจากการแทรก: ' << สิ้นสุด ;
display_vector ( intVector ) ;
กลับ 0 ;
}
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน ผลลัพธ์แสดงให้เห็นว่ามีการแทรกตัวเลข 9, 13, 19, 82 และ 71 ลงในเวกเตอร์แล้ว
บทสรุป:
มีฟังก์ชันมากมายใน C++ เพื่อแทรกข้อมูลที่จุดเริ่มต้นหรือจุดสิ้นสุดหรือตำแหน่งใดๆ ของเวกเตอร์ เช่น push_front(), insert() ฯลฯ การใช้ฟังก์ชัน push_back() จะถูกล้างหลังจากฝึกตัวอย่างที่แสดงในบทช่วยสอนนี้ .