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

Vector Insert Function C



เวกเตอร์เป็นคลาสคอนเทนเนอร์ที่มีประโยชน์ของ C++ เพื่อจัดเก็บลำดับของข้อมูลที่ทำงานเป็นอาร์เรย์แบบไดนามิก ขนาดของวัตถุเวกเตอร์สามารถเพิ่มหรือลดได้โดยการเพิ่มหรือลบองค์ประกอบในวัตถุในขณะทำงาน ฟังก์ชัน insert() ใช้เพื่อเพิ่มองค์ประกอบใหม่อย่างน้อยหนึ่งรายการก่อนองค์ประกอบเฉพาะของวัตถุเวกเตอร์โดยระบุตำแหน่งขององค์ประกอบนั้น มันจะเพิ่มขนาดของวัตถุเวกเตอร์แบบไดนามิก มีการอธิบายไวยากรณ์ที่แตกต่างกันและการใช้ฟังก์ชันนี้ในบทช่วยสอนนี้

ไวยากรณ์:

ฟังก์ชัน insert() ของ vector สามารถใช้ได้หลายวิธีเพื่อวัตถุประสงค์ที่แตกต่างกัน ไวยากรณ์ที่แตกต่างกันสามแบบของฟังก์ชันนี้มีการกล่าวถึงด้านล่าง







ตัววนซ้ำแทรก(ตำแหน่ง const_iterator,constvalue_type&ค่า);

ฟังก์ชัน insert() ด้านบนใช้เพื่อแทรกค่าของอาร์กิวเมนต์ value ก่อนตำแหน่งขององค์ประกอบเวกเตอร์ที่กล่าวถึงโดยอาร์กิวเมนต์ตำแหน่ง ส่งคืนตัววนซ้ำที่ชี้ไปยังองค์ประกอบที่แทรกใหม่ของเวกเตอร์



ตัววนซ้ำแทรก(ตำแหน่งตัววนซ้ำ size_type n,constvalue_type&ค่า);

ฟังก์ชัน insert() ด้านบนจะทำงานคล้ายกับฟังก์ชัน insert() ที่กล่าวถึงก่อนหน้านี้ แต่จะแทรกค่าเดิมหลายครั้งในออบเจกต์เวกเตอร์



ตัววนซ้ำแทรก(ตำแหน่ง const_iterator, InputIterator ก่อน, InputIterator ล่าสุด);

ฟังก์ชัน insert() ด้านบนจะแทรกช่วงขององค์ประกอบก่อนตำแหน่งขององค์ประกอบเวกเตอร์ที่กล่าวถึงโดยอาร์กิวเมนต์ตำแหน่ง ส่งคืนตัววนซ้ำที่ชี้ไปยังองค์ประกอบที่แทรกใหม่ของเวกเตอร์ เช่นเดียวกับฟังก์ชัน insert() สองตัวก่อนหน้า





ข้อกำหนดเบื้องต้น:

ก่อนตรวจสอบตัวอย่างของบทช่วยสอนนี้ คุณต้องตรวจสอบก่อนว่าคอมไพเลอร์ g++ ติดตั้งหรือไม่อยู่ในระบบ หากคุณกำลังใช้ Visual Studio Code ให้ติดตั้งส่วนขยายที่จำเป็นเพื่อคอมไพล์ซอร์สโค้ด C++ เพื่อสร้างโค้ดที่เรียกใช้งานได้ ที่นี่ แอปพลิเคชัน Visual Studio Code ถูกใช้เพื่อคอมไพล์และรันโค้ด C++ การใช้งานที่แตกต่างกันของฟังก์ชัน insert() เพื่อแทรกองค์ประกอบลงในเวกเตอร์ได้แสดงไว้ด้านล่าง

ตัวอย่างที่ 1: การแทรกองค์ประกอบเดียว

สร้างไฟล์ C++ ด้วยรหัสต่อไปนี้เพื่อแทรกองค์ประกอบเดียวโดยใช้ฟังก์ชัน insert() มีการประกาศเวกเตอร์จำนวน 5 ทศนิยมในรหัส ฟังก์ชัน insert() ตัวแรกถูกใช้เพื่อแทรกตัวเลขที่จุดเริ่มต้นของเวกเตอร์โดยใช้ฟังก์ชัน begin() ฟังก์ชัน insert() ตัวที่สองถูกใช้เพื่อแทรกตัวเลขที่จุดเริ่มต้นของเวกเตอร์โดยใช้ตัวแปร iterator ฟังก์ชัน insert() ตัวที่สามต้องใส่ตัวเลขที่ตำแหน่งที่สี่ของเวกเตอร์



//รวมไลบรารีที่จำเป็น

#รวม

#รวม

โดยใช้ เนมสเปซชั่วโมง;

//แสดงเวกเตอร์

โมฆะแสดง(เวกเตอร์<ลอย>ตัวเลข)

{

//พิมพ์ค่าของเวกเตอร์โดยใช้ลูป

สำหรับ(รถยนต์เขา=เลขที่เริ่ม();เขา!=เลขที่จบ() ;เขา++)

ค่าใช้จ่าย << *เขา<< '';

//เพิ่มบรรทัดใหม่

ค่าใช้จ่าย << 'NS';

}

intหลัก()

{

//เริ่มต้นเวกเตอร์

เวกเตอร์<ลอย>ราคา= { 78.56,34.07,2. 3,สี่ห้า,61.08,29.3 };

ค่าใช้จ่าย << 'เวกเตอร์ดั้งเดิม:';

แสดง(ราคา);

// ใส่ตัวเลขด้านหน้าโดยใช้ start()

รถยนต์iterator=ราคา.แทรก(ราคา.เริ่ม(),42.67);

ค่าใช้จ่าย << 'เวกเตอร์หลังการแทรกครั้งแรก:';

แสดง(ราคา);

//ใส่ตัวเลขด้านหน้าโดยใช้ iterator

ราคา.แทรก(ตัววนซ้ำ,30.76);

ค่าใช้จ่าย << 'เวกเตอร์หลังการแทรกครั้งที่สอง:';

แสดง(ราคา);

//เริ่มต้นตัวแปรจำนวนเต็ม

intตำแหน่ง= 3;

//ใส่ตัวเลขตรงตำแหน่ง

iterator=ราคา.แทรก(ราคา.เริ่ม() +ตำแหน่ง,52.56);

ค่าใช้จ่าย << 'เวกเตอร์หลังการแทรกที่สาม:';

แสดง(ราคา);

กลับ 0;

}

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน ค่าของเวกเตอร์ถูกพิมพ์สี่ครั้งในผลลัพธ์

ตัวอย่างที่ 2: การแทรกองค์ประกอบเดียวหลายครั้ง

สร้างไฟล์ C++ ด้วยรหัสต่อไปนี้เพื่อแทรกองค์ประกอบเดียวกันหลายครั้งในเวกเตอร์โดยใช้ฟังก์ชัน insert() พร้อมพารามิเตอร์สามตัว มีการประกาศเวกเตอร์ของตัวเลขจำนวนเต็ม 8 ตัวในรหัส หมายเลข 50 จะถูกแทรก 5 ครั้งที่ส่วนท้ายของเวกเตอร์หลังจากเรียกใช้ฟังก์ชัน insert() ของโค้ด ในที่นี้ ฟังก์ชัน end() ถูกใช้เพื่อแทรกองค์ประกอบที่ส่วนท้ายของเวกเตอร์

//รวมไลบรารีที่จำเป็น

#รวม

#รวม

โดยใช้ เนมสเปซชั่วโมง;

//แสดงเวกเตอร์

โมฆะแสดง(เวกเตอร์<int>ตัวเลข)

{

//พิมพ์ค่าของเวกเตอร์โดยใช้ลูป

สำหรับ(รถยนต์เขา=เลขที่เริ่ม();เขา!=เลขที่จบ() ;เขา++)

ค่าใช้จ่าย << *เขา<< '';

//เพิ่มบรรทัดใหม่

ค่าใช้จ่าย << 'NS';

}

intหลัก()

{

//เริ่มต้นเวกเตอร์

เวกเตอร์<int>intArray{7,5,12,4,สี่ห้า,3,64,10};

ค่าใช้จ่าย << 'เวกเตอร์ดั้งเดิม:';

แสดง(intArray);

//ใส่ตัวเลขเดิมหลายๆ ครั้งต่อท้ายเวกเตอร์

intArrayแทรก(intArrayจบ(),5,ห้าสิบ);

ค่าใช้จ่าย << 'เวกเตอร์หลังจากใส่ตัวเลขเดียวกัน 5 ครั้ง : ';

แสดง(intArray);

ค่าใช้จ่าย << 'NS';

กลับ 0;

}

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน ค่าของเวกเตอร์ถูกพิมพ์สองครั้งในผลลัพธ์

ตัวอย่างที่ 3: การแทรกช่วงขององค์ประกอบ

สร้างไฟล์ C++ ด้วยรหัสต่อไปนี้เพื่อแทรกองค์ประกอบทั้งหมดจากเวกเตอร์ไปยังส่วนท้ายของเวกเตอร์อื่น ในที่นี้ ฟังก์ชัน insert() ประกอบด้วยพารามิเตอร์สามตัว ตำแหน่งของการแทรกได้ตั้งค่าไว้ในพารามิเตอร์แรก ตัววนซ้ำเริ่มต้นและสิ้นสุดของเวกเตอร์ที่สองได้รับการตั้งค่าในอาร์กิวเมนต์ที่สองและอาร์กิวเมนต์ที่สามของฟังก์ชัน insert()

//รวมไลบรารีที่จำเป็น

#รวม

#รวม

โดยใช้ เนมสเปซชั่วโมง;

//กำหนดฟังก์ชันต้นแบบ

โมฆะแสดง(เวกเตอร์<สตริง>รายการ);

intหลัก()

{

//ประกาศเวกเตอร์สตริงแรก

เวกเตอร์<สตริง>รายการ1{'html','ซีเอส','จาวาสคริปต์','บูตสแตรป'};

//ประกาศเวกเตอร์สตริงที่สอง

เวกเตอร์<สตริง>รายการ2{'php','จาวา','หลาม','ทุบตี','เพิร์ล'};

ค่าใช้จ่าย<<'ค่าของ list1:';

แสดง(รายการ1);

ค่าใช้จ่าย<<'ค่าของ list2:';

แสดง(รายการ2);

//แทรกค่าของ list2 ที่จุดเริ่มต้นของ list1

รายการ1.แทรก(รายการ1.เริ่ม(),รายการ2.เริ่ม(),รายการ2.จบ());

ค่าใช้จ่าย<<'ค่าของ list1 หลังจากใส่ list2: ';

แสดง(รายการ1);

กลับ 0;

}

//แสดงเวกเตอร์

โมฆะแสดง(เวกเตอร์<สตริง>รายการ)

{

//พิมพ์ค่าของเวกเตอร์โดยใช้ลูป

สำหรับ(รถยนต์เขา=รายการ.เริ่ม();เขา!=รายการ.จบ() ;เขา++)

ค่าใช้จ่าย << *เขา<< '';

//เพิ่มบรรทัดใหม่

ค่าใช้จ่าย << 'NS';

}

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน ค่าของเวกเตอร์ถูกพิมพ์สามครั้งในผลลัพธ์

บทสรุป:

วิธีการแทรกองค์ประกอบอย่างน้อยหนึ่งรายการในตำแหน่งใดๆ ของเวกเตอร์โดยใช้ฟังก์ชัน insert() ได้แสดงไว้ในบทช่วยสอนนี้โดยใช้ตัวอย่างหลายรายการ ฉันหวังว่าตัวเข้ารหัส C ++ จะใช้ฟังก์ชัน insert() ของเวกเตอร์อย่างถูกต้องหลังจากอ่านบทช่วยสอนนี้