กำหนดให้แสดงการทำงานของ list emplace() function ใน C++
ฟังก์ชัน list::emplace() เป็นส่วนหนึ่งของไลบรารีเทมเพลตมาตรฐาน C++ ใช้เพื่อแทรกค่าภายในรายการที่ผู้ใช้ระบุตำแหน่ง
ควรรวมไฟล์ส่วนหัวเพื่อเรียกใช้ฟังก์ชันนี้
ไวยากรณ์
List_Name.emplace(position,element)
พารามิเตอร์
ฟังก์ชันนี้ใช้พารามิเตอร์สองตัว -
อันดับแรกคือ ตำแหน่ง ซึ่งแสดงถึงตำแหน่งที่จะต้องวางองค์ประกอบใหม่ และส่วนที่สองคือ ค่า ซึ่งแสดงถึงองค์ประกอบที่ต้องแทรกในรายการที่ตำแหน่ง
ผลตอบแทนที่ได้รับ
ฟังก์ชันส่งคืนตัววนซ้ำที่ชี้ไปที่องค์ประกอบที่แทรกใหม่
ตัวอย่าง
Input: list<int> L = { 1,2,3 } Output: 6 1 2 3
คำอธิบาย − ที่นี่เราสร้างรายการ "L" ของประเภท int ที่มีค่า 1, 2 และ 3 จากนั้นเราสร้างวัตถุ "itr" ซึ่งจะทำงานเป็นตัววนซ้ำของเราเนื่องจากฟังก์ชัน emplace ส่งกลับตัววนซ้ำ เราเลือกตำแหน่งเริ่มต้นของรายการเพื่อวางองค์ประกอบใหม่ซึ่งแสดงโดยอาร์กิวเมนต์แรก อาร์กิวเมนต์ที่สองของเราคือ 6 ซึ่งจะเป็นองค์ประกอบใหม่ที่จะเพิ่มซึ่งสร้างผลลัพธ์เป็น 6 1 2 3
แนวทางที่ใช้ในโปรแกรมด้านล่างนี้ −
- ขั้นแรกให้สร้างรายการประเภท int ให้เราพูดว่า "Lt" และกำหนดค่าบางอย่างให้กับมัน
- จากนั้นสร้างอ็อบเจ็กต์ "itr" ประเภท auto และเริ่มต้นโดยเรียกใช้ฟังก์ชัน emplace “itr” จะเป็นตัววนซ้ำซึ่งจะได้รับค่าส่งคืนของฟังก์ชัน emplace()
- จากนั้นให้อาร์กิวเมนต์แก่ฟังก์ชัน สมมติว่าอาร์กิวเมนต์แรกจะเป็น Lt.end() เพื่อเลือกตำแหน่งสิ้นสุดของรายการ และสำหรับอาร์กิวเมนต์ที่สอง ค่าใดๆ ก็ตามเป็น 7
อัลกอริทึม
Start Step 1->In function main() Initialize list<int> Lt={} Initialize auto itr=Lt.emplace(Lt.end(),7) Loop For itr=Lt.begin() and itr!=Lt.end() and itr++ Print *itr Stop
ตัวอย่าง
#include <iostream> #include<list> using namespace std; int main() { list<int> Lt = { 3,4,5 }; auto itr = Lt.emplace(Lt.begin(),7); Lt.emplace(itr,6); cout << "The List is: "; for (itr = Lt.begin(); itr != Lt.end(); itr++) cout << *itr << " "; return 0; }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
The List is: 6 7 3 4 5