Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ฟังก์ชัน deque assign () ใน C ++ STL


กำหนดให้แสดงการทำงานของ deque::assign() ใน C++ STL

Deque เป็นคิวสองปลาย ใน C ++ deque::assign() เป็นฟังก์ชัน inbuilt ซึ่งใช้เพื่อกำหนดค่าใหม่ให้กับคอนเทนเนอร์ deque ทุกครั้งที่เรียกใช้ฟังก์ชันนี้จะกำหนดค่าใหม่ให้กับคอนเทนเนอร์ deque โดยแทนที่ค่าที่มีอยู่และเปลี่ยนขนาดที่จัดสรรตามนั้น

ไวยากรณ์

ไวยากรณ์ของ deque::assign() มีดังต่อไปนี้ −

dequename.assign(<int> size, <int> val)

พารามิเตอร์

ฟังก์ชันนี้มี 2 พารามิเตอร์ -

อันดับแรกคือ ขนาด ซึ่งแสดงถึงขนาดของคอนเทนเนอร์ deque และอันที่สองคือ val ซึ่งเป็นค่าที่อยู่ในคอนเทนเนอร์ deque

นอกจากนี้ แทนที่จะ ขนาด และ val เราสามารถกำหนดให้ iterator เป็นพารามิเตอร์เพื่อประกาศจุดเริ่มต้นและจุดสิ้นสุด การแสดงภาพของทั้งคู่เป็นตัวอย่าง

คืนค่า

ฟังก์ชันนี้ไม่มีค่าส่งคืน

ตัวอย่าง

Input: dq.assign(5, 1)
Output: deque elements are: 1 1 1 1 1
Input: dq.assign(5, 2)
dq1.assign(dq.start()+2, dq.end())
Output: deque elements are: 2 2 2 2 2
deque elements are: 2 2 2

คำอธิบาย − deque dq มี 5 องค์ประกอบ 2 2 2 2 2 ในขณะที่ dq1 เราจะข้าม 2 องค์ประกอบตั้งแต่เริ่มต้นและเริ่มจากองค์ประกอบที่สามของ dq ดังนั้น dq1 มี 2 2 2

ด้วยขนาดและความคุ้มค่า

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
int main() {
   deque<int> deq;
   // assign 5 values of 1 each
   deq.assign(5, 1); //here, 5 is the size and 1 is the value
   cout << "deque elements are: ";
   for (auto it = deq.begin(); it != deq.end(); it++)
   cout << *it << " ";
   return 0;
}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -

deque elements are: 1 1 1 1 1

ด้วยการวนซ้ำ

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
int main() {
   deque<int> deq;
   // assign 5 values of 2 each
   deq.assign(5, 2);
   cout << "deque elements are: ";
   for (auto it = deq.begin(); it != deq.end(); it++)
   cout << *it << " ";
   deque<int> deq1;
   // assigns all elements from
   // the second position to deque1
   deq1.assign(deq.begin() + 2, deq.end());
   cout << "\ndeque1 elements are: ";
   for (auto it = deq1.begin(); it != deq1.end(); it++)
   cout << *it << " ";
   return 0;
}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -

deque elements are: 2 2 2 2 2
deque1 elements are: 2 2 2