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

deque::empty() และ deque::size() ใน C++ STL


ในบทความนี้เราจะอธิบายการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน deque::empty() และ deque::size() ใน C++ Standard Template Library (STL)

Deque คืออะไร?

Deque (Double Ended Queue) เป็นคอนเทนเนอร์ลำดับที่ให้ฟังก์ชันการขยายและหดตัวได้ที่ทั้งสองปลาย โครงสร้าง queue ทั่วไปอนุญาตให้แทรกข้อมูลเฉพาะที่ปลาย (END) และลบข้อมูลจากหน้า (FRONT) เท่านั้น ส่วน Deque อนุญาตให้แทรกและลบข้อมูลได้ที่ทั้งสองปลาย

deque::empty() คืออะไร?

deque::empty() เป็นฟังก์ชันในตัวของ C++ STL ที่ประกาศใน header file <deque> ฟังก์ชันนี้ใช้ ตรวจสอบว่า deque container ว่างเปล่าหรือไม่ (ขนาดเป็น 0) ส่งคืน true หาก container ว่าง และ false หากไม่ว่าง

ไวยากรณ์ (Syntax)

mydeque.empty();

พารามิเตอร์ (Parameters)

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

ค่าที่ส่งคืน (Return Value)

ส่งคืน true หาก deque ว่างหรือขนาดเป็น 0 มิฉะนั้นส่งคืน false

ตัวอย่างการใช้งาน

Input: deque<int> mydeque = {10, 20, 30, 40};
mydeque.empty();
Output: False

Input: deque<int> mydeque;
mydeque.empty();
Output: True

ตัวอย่างโค้ดเต็ม

#include <deque>
#include <iostream>
using namespace std;

int main() {
    int product = 1;
    deque<int> Deque;
    
    // แทรกข้อมูลด้วย push_back()
    Deque.push_back(10);
    Deque.push_back(20);
    Deque.push_back(30);
    Deque.push_back(40);
    Deque.push_back(50);
    
    // วนลูปจนกว่า deque จะว่าง
    while(!Deque.empty()) {
        product = product * Deque.front();
        Deque.pop_front();
    }
    
    // ตรวจสอบว่า deque ว่างหรือไม่
    if(Deque.empty()) {
        cout << "Deque is empty and hence product is : " << product;
    } else {
        cout << "Deque is not empty ";
    }
    return 0;
}

ผลลัพธ์ (Output)

Deque is empty and hence product is : 12000

deque::size() คืออะไร?

deque::size() เป็นฟังก์ชันในตัวของ C++ STL ที่ประกาศใน header file <deque> ฟังก์ชันนี้ส่งคืน ขนาดของ deque container หาก container ไม่มีองค์ประกอบ จะส่งคืน 0

ไวยากรณ์ (Syntax)

mydeque.size();

พารามิเตอร์ (Parameters)

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

ค่าที่ส่งคืน (Return Value)

ส่งคืนค่า unsigned integer คือจำนวนองค์ประกอบใน container

ตัวอย่างการใช้งาน

Input: deque<int> mydeque = {10, 20, 30, 40};
mydeque.size();
Output: 4

Input: deque<int> mydeque;
mydeque.size();
Output: 0

ตัวอย่างโค้ดเต็ม

#include <deque>
#include <iostream>
using namespace std;

int main() {
    int product = 0;
    deque<int> Deque;
    
    Deque.push_back(10);
    Deque.push_back(20);
    Deque.push_back(30);
    Deque.push_back(40);
    Deque.push_back(50);
    
    cout << "size of deque is : " << Deque.size();
    return 0;
}

ผลลัพธ์ (Output)

Size of deque is: 5