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

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

บทนำ

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

Deque (Double Ended Queue) ใน C++ deque::assign() เป็นฟังก์ชันในตัว (Inbuilt) ใช้กำหนดค่าใหม่ให้ Deque Container ทุกครั้งที่เรียก จะแทนที่ค่าเดิมและปรับขนาดตามนั้น

Syntax

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

Parameters

2 พารามิเตอร์:

  • Size - ขนาดของ Deque Container
  • Val - ค่าที่ Deque จะเก็บ

หรือใช้ Iterator ระบุช่วงเริ่มต้น-สิ้นสุดแทนได้

Return Value

ไม่คืนค่า

ตัวอย่าง

Input: dq.assign(5, 1)
Output: deque elements are: 1 1 1 1 1

Input: dq.assign(5, 2); dq1.assign(dq.begin()+2, dq.end())
Output: deque elements are: 2 2 2 2 2
        deque1 elements are: 2 2 2

dq มี 5 ตัวค่า 2, dq1 ข้าม 2 ตัวแรก เริ่มจากตัวที่ 3 → ได้ 3 ตัวค่า 2

ตัวอย่าง: ใช้ Size และ Value

#include <bits/stdc++.h>
using namespace std;

int main() {
    deque<int> deq;
    deq.assign(5, 1); // size=5, value=1
    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

ตัวอย่าง: ใช้ Iterators

#include <bits/stdc++.h>
using namespace std;

int main() {
    deque<int> deq;
    deq.assign(5, 2);
    cout << "deque elements are: ";
    for (auto it = deq.begin(); it != deq.end(); it++)
        cout << *it << " ";
    
    deque<int> deq1;
    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

คำอธิบายเพิ่มเติม

assign() จะล้างข้อมูลเดิมทั้งหมดและแทนที่ด้วยข้อมูลใหม่ เวอร์ชัน Iterator Range คัดลอกจาก [first, last) ไม่รวม last