ฟังก์ชันแทรกเวกเตอร์ () ใน C ++

Fangkchan Thaerk Wek Texr Ni C



เวกเตอร์เป็นคลาสคอนเทนเนอร์ที่มีประโยชน์ของ 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() ของเวกเตอร์อย่างถูกต้องหลังจากอ่านบทช่วยสอนนี้