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