เวกเตอร์เป็นคลาสคอนเทนเนอร์ที่มีประโยชน์ของ C++ เพื่อจัดเก็บลำดับของข้อมูลที่ทำงานเป็นอาร์เรย์แบบไดนามิก ขนาดของวัตถุเวกเตอร์สามารถเพิ่มหรือลดได้โดยการเพิ่มหรือลบองค์ประกอบในวัตถุในขณะรันไทม์ ฟังก์ชัน insert() ใช้เพื่อเพิ่มองค์ประกอบใหม่อย่างน้อยหนึ่งองค์ประกอบก่อนองค์ประกอบเฉพาะของวัตถุเวกเตอร์ โดยการกล่าวถึงตำแหน่งขององค์ประกอบนั้น มันจะเพิ่มขนาดของวัตถุเวกเตอร์แบบไดนามิก มีการอธิบายไวยากรณ์ต่างๆ และการใช้ฟังก์ชันนี้ไว้ในบทช่วยสอนนี้
ไวยากรณ์:
ฟังก์ชัน insert() ของเวกเตอร์สามารถใช้ได้หลายวิธีเพื่อวัตถุประสงค์ที่ต่างกัน ไวยากรณ์ที่แตกต่างกันสามประการของฟังก์ชันนี้มีการกล่าวถึงด้านล่าง
ตัววนซ้ำแทรก ( ตำแหน่ง const_iterator ค่าคงที่ ค่า_ประเภท & ค่า ) ;
ฟังก์ชัน insert() ด้านบนใช้เพื่อแทรกค่าของอาร์กิวเมนต์ value ก่อนตำแหน่งขององค์ประกอบเวกเตอร์ที่กล่าวถึงโดยอาร์กิวเมนต์ตำแหน่ง มันจะส่งคืนตัววนซ้ำที่ชี้ไปยังองค์ประกอบที่ถูกแทรกใหม่ของเวกเตอร์
ตัววนซ้ำแทรก ( ตำแหน่งตัววนซ้ำ size_type n ค่าคงที่ ค่า_ประเภท & ค่า ) ;
ฟังก์ชัน insert() ด้านบนจะทำงานคล้ายกับฟังก์ชัน insert() ที่กล่าวถึงก่อนหน้านี้ แต่จะแทรกค่าเดียวกันหลายครั้งลงในวัตถุเวกเตอร์
ตัววนซ้ำแทรก ( ตำแหน่ง const_iterator, InputIterator ก่อน, InputIterator สุดท้าย ) ;
ฟังก์ชัน insert() ด้านบนจะทำงานโดยการแทรกช่วงขององค์ประกอบก่อนตำแหน่งขององค์ประกอบเวกเตอร์ที่กล่าวถึงโดยอาร์กิวเมนต์ตำแหน่ง มันจะส่งคืนตัววนซ้ำที่ชี้ไปยังองค์ประกอบที่แทรกใหม่ของเวกเตอร์ เช่นเดียวกับฟังก์ชัน insert() สองฟังก์ชันก่อนหน้า
ข้อกำหนดเบื้องต้น:
ก่อนที่จะตรวจสอบตัวอย่างของบทช่วยสอนนี้ คุณต้องตรวจสอบว่ามีการติดตั้งคอมไพเลอร์ g++ อยู่ในระบบหรือไม่ หากคุณใช้ Visual Studio Code ให้ติดตั้งส่วนขยายที่จำเป็นเพื่อคอมไพล์ซอร์สโค้ด C++ เพื่อสร้างโค้ดที่ปฏิบัติการได้ ที่นี่ มีการใช้แอปพลิเคชัน Visual Studio Code เพื่อคอมไพล์และรันโค้ด C++ การใช้งานฟังก์ชัน insert() แบบต่างๆ เพื่อแทรกองค์ประกอบลงในเวกเตอร์ได้แสดงไว้ด้านล่าง
ตัวอย่างที่ 1: การแทรกองค์ประกอบเดียว
สร้างไฟล์ C++ ด้วยโค้ดต่อไปนี้เพื่อแทรกองค์ประกอบเดียวโดยใช้ฟังก์ชัน insert() มีการประกาศเวกเตอร์ของตัวเลขทศนิยม 5 ตัวในโค้ด ฟังก์ชัน insert() แรกใช้เพื่อแทรกตัวเลขที่จุดเริ่มต้นของเวกเตอร์โดยใช้ฟังก์ชัน start() ฟังก์ชัน insert() ที่สองใช้เพื่อแทรกตัวเลขที่จุดเริ่มต้นของเวกเตอร์โดยใช้ตัวแปรตัววนซ้ำ ฟังก์ชัน insert() ที่สามจะต้องแทรกตัวเลขที่ตำแหน่งที่สี่ของเวกเตอร์
//รวมไลบรารีที่จำเป็น
#รวม
#รวม <เวกเตอร์>
โดยใช้ เนมสเปซ มาตรฐาน ;
//แสดงเวกเตอร์
เป็นโมฆะ แสดง ( เวกเตอร์ < ลอย > ตัวเลข )
{
//พิมพ์ค่าของเวกเตอร์โดยใช้การวนซ้ำ
สำหรับ ( อัตโนมัติ เขา = ตัวเลข เริ่ม ( ) ; เขา ! = ตัวเลข จบ ( ) ; เขา ++ )
ศาล << * เขา << ' ' ;
//เพิ่มบรรทัดใหม่
ศาล << ' \n ' ;
}
ภายใน หลัก ( )
{
// เริ่มต้นเวกเตอร์
เวกเตอร์ < ลอย > ราคา = { 78.56 , 34.07 , 23 , สี่ห้า , 61.08 , 29.3 } ;
ศาล << 'เวกเตอร์ดั้งเดิม:' ;
แสดง ( ราคา ) ;
//ใส่ตัวเลขข้างหน้าด้วย start()
อัตโนมัติ ตัววนซ้ำ = ราคา. แทรก ( ราคา. เริ่ม ( ) , 42.67 ) ;
ศาล << 'เวกเตอร์หลังจากการแทรกครั้งแรก: ' ;
แสดง ( ราคา ) ;
//ใส่ตัวเลขด้านหน้าโดยใช้ตัววนซ้ำ
ราคา. แทรก ( ตัววนซ้ำ 30.76 ) ;
ศาล << 'เวกเตอร์หลังจากการแทรกครั้งที่สอง: ' ;
แสดง ( ราคา ) ;
//เริ่มต้นตัวแปรจำนวนเต็ม
ภายใน ตำแหน่ง = 3 ;
//ใส่ตัวเลขในตำแหน่งที่ต้องการ
ตัววนซ้ำ = ราคา. แทรก ( ราคา. เริ่ม ( ) + ตำแหน่ง, 52.56 ) ;
ศาล << 'เวกเตอร์หลังส่วนแทรกที่สาม: ' ;
แสดง ( ราคา ) ;
กลับ 0 ;
}
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน ค่าของเวกเตอร์ถูกพิมพ์สี่ครั้งในเอาต์พุต
ตัวอย่างที่ 2: การแทรกองค์ประกอบเดียวหลายครั้ง
สร้างไฟล์ C++ ด้วยโค้ดต่อไปนี้เพื่อแทรกองค์ประกอบเดียวกันหลายครั้งในเวกเตอร์โดยใช้ฟังก์ชัน insert() พร้อมพารามิเตอร์ 3 ตัว มีการประกาศเวกเตอร์จำนวนเต็ม 8 หลักในโค้ด หมายเลข 50 จะถูกแทรก 5 ครั้งที่ส่วนท้ายของเวกเตอร์หลังจากดำเนินการฟังก์ชัน insert() ของโค้ด ในที่นี้ ฟังก์ชัน end() ใช้เพื่อแทรกองค์ประกอบที่ส่วนท้ายของเวกเตอร์
//รวมไลบรารีที่จำเป็น#รวม
#รวม<เวกเตอร์>
โดยใช้ เนมสเปซ มาตรฐาน ;
//แสดงเวกเตอร์
เป็นโมฆะ แสดง ( เวกเตอร์ < ภายใน > ตัวเลข )
{
//พิมพ์ค่าของเวกเตอร์โดยใช้การวนซ้ำ
สำหรับ ( อัตโนมัติ เขา = ตัวเลข เริ่ม ( ) ; เขา ! = ตัวเลข จบ ( ) ; เขา ++ )
ศาล << * เขา << ' ' ;
//เพิ่มบรรทัดใหม่
ศาล << ' \n ' ;
}
ภายใน หลัก ( )
{
// เริ่มต้นเวกเตอร์
เวกเตอร์ < ภายใน > intArray { 7 , 5 , 12 , 4 , สี่ห้า , 3 , 64 , 10 } ;
ศาล << 'เวกเตอร์ดั้งเดิม:' ;
แสดง ( intArray ) ;
//ใส่ตัวเลขเดียวกันหลายครั้งที่ส่วนท้ายของเวกเตอร์
intArray. แทรก ( intArray. จบ ( ) , 5 , ห้าสิบ ) ;
ศาล << 'เวกเตอร์หลังจากใส่ตัวเลขเดียวกัน 5 ครั้ง : ' ;
แสดง ( intArray ) ;
ศาล << ' \n ' ;
กลับ 0 ;
}
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน ค่าของเวกเตอร์ถูกพิมพ์สองครั้งในเอาต์พุต
ตัวอย่างที่ 3: การแทรกช่วงขององค์ประกอบ
สร้างไฟล์ C++ ด้วยโค้ดต่อไปนี้เพื่อแทรกองค์ประกอบทั้งหมดจากเวกเตอร์ไปยังจุดสิ้นสุดของเวกเตอร์อื่น ในที่นี้ ฟังก์ชัน insert() มีพารามิเตอร์ 3 ตัว ตำแหน่งของการแทรกถูกกำหนดไว้ในพารามิเตอร์แรก ตัววนซ้ำเริ่มต้นและสิ้นสุดของเวกเตอร์ตัวที่สองได้รับการตั้งค่าไว้ในอาร์กิวเมนต์ตัวที่สองและตัวที่สามของฟังก์ชัน insert()
//รวมไลบรารีที่จำเป็น#รวม
#รวม<เวกเตอร์>
โดยใช้ เนมสเปซ มาตรฐาน ;
//กำหนดฟังก์ชันต้นแบบ
เป็นโมฆะ แสดง ( เวกเตอร์ < เชือก > รายการ ) ;
ภายใน หลัก ( )
{
//ประกาศเวกเตอร์สตริงตัวแรก
เวกเตอร์ < เชือก > แผ่นที่ 1 { 'เอชทีเอ็มแอล' , 'ซีเอส' , 'จาวาสคริปต์' , 'รองเท้าบู๊ต' } ;
//ประกาศเวกเตอร์สตริงที่สอง
เวกเตอร์ < เชือก > รายการ2 { 'php' , 'จาวา' , 'หลาม' , 'ทุบตี' , 'เพิร์ล' } ;
ศาล << 'ค่าของ list1:' ;
แสดง ( แผ่นที่ 1 ) ;
ศาล << 'ค่าของ list2:' ;
แสดง ( รายการ2 ) ;
//ใส่ค่าของ list2 ที่จุดเริ่มต้นของ list1
แผ่นที่ 1 แทรก ( แผ่นที่ 1 เริ่ม ( ) รายการ2. เริ่ม ( ) รายการ2. จบ ( ) ) ;
ศาล << 'ค่าของ list1 หลังจากใส่ list2: ' ;
แสดง ( แผ่นที่ 1 ) ;
กลับ 0 ;
}
//แสดงเวกเตอร์
เป็นโมฆะ แสดง ( เวกเตอร์ < เชือก > รายการ )
{
//พิมพ์ค่าของเวกเตอร์โดยใช้การวนซ้ำ
สำหรับ ( อัตโนมัติ เขา = รายการ. เริ่ม ( ) ; เขา ! = รายการ. จบ ( ) ; เขา ++ )
ศาล << * เขา << ' ' ;
//เพิ่มบรรทัดใหม่
ศาล << ' \n ' ;
}
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน ค่าของเวกเตอร์ได้รับการพิมพ์สามครั้งในเอาต์พุต
บทสรุป:
วิธีการแทรกองค์ประกอบตั้งแต่หนึ่งรายการขึ้นไปในตำแหน่งใดๆ ของเวกเตอร์โดยใช้ฟังก์ชัน insert() ได้แสดงไว้ในบทช่วยสอนนี้โดยใช้หลายตัวอย่าง ฉันหวังว่าโค้ดเดอร์ C++ จะใช้ฟังก์ชัน insert() ของเวกเตอร์อย่างถูกต้องหลังจากอ่านบทช่วยสอนนี้