ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน deque::shrink_to_fit() ใน C++ STL
เด็คคืออะไร
Deque คือ Double Ended Queues ซึ่งเป็นคอนเทนเนอร์ลำดับที่ให้การทำงานของการขยายและการหดตัวทั้งสองด้าน โครงสร้างข้อมูลคิวอนุญาตให้ผู้ใช้แทรกข้อมูลได้เฉพาะที่ END และลบข้อมูลออกจาก FRONT ลองมาเปรียบเทียบคิวที่ป้ายรถเมล์ที่คนสามารถแทรกลงในคิวจาก END เท่านั้นและบุคคลที่ยืนอยู่ด้านหน้าจะเป็นคนแรกที่ถูกลบในขณะที่ในคิวแบบ Double End การแทรกและการลบข้อมูลทำได้ทั้งสองแบบ จบ.
deque::shrink_to_fit() คืออะไร
deque::shrink_to_fit() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งประกาศไว้ในไฟล์ส่วนหัว
ไวยากรณ์
mydeque.shrink_to_fit();
ฟังก์ชันนี้ไม่ต้องการพารามิเตอร์
คืนค่า
ฟังก์ชันนี้ไม่ส่งคืนสิ่งใด
ตัวอย่าง
Input: deque<int> mydeque = {10, 20 30, 40, 0, 0, 0};
mydeque.shrink_to_fit();
Output:
Size of the mydeque = 40 ตัวอย่าง
#include <bits/stdc++.h>
using namespace std;
int main(){
deque<int> Deque(50);
cout<<"Initial size of Deque is : " << Deque.size();
Deque.resize(40);
cout<<"\nDeque size after resizing it : " << Deque.size() << endl;
Deque.shrink_to_fit();
return 0;
} ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
Initial size of Deque is : 50 Deque size after resizing it : 4
ตัวอย่าง
#include <bits/stdc++.h>
using namespace std;
int main(){
deque<int> Deque(10);
for (int i = 0; i <= 5; i++)
Deque[i] = i;
cout<<"Initial size of Deque is: " << Deque.size();
cout<<"\n Deque elements are: ";
for (int i = 0; i <= 7; i++)
cout << Deque[i] << " ";
Deque.resize(10);
cout << "\n After resizing deque size is : "<<Deque.size();
cout << "\n Deque elements are: ";
for (int i = 0; i < 10; i++)
cout << Deque[i] << " ";
Deque.shrink_to_fit();
return 0;
} ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
Deque elements are: 0 1 2 3 4 5 0 0 After resizing deque size is : 10 Deque elements are: 0 1 2 3 4 5 0 0 0 0