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

ดีค shrink_to_fit ใน C ++ STL


ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน 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 ซึ่งประกาศไว้ในไฟล์ส่วนหัว deque::shrink_to_fit() ซึ่งลดขนาดความจุของคอนเทนเนอร์ deque เป็นขนาดพอดีที่ระบุและลบองค์ประกอบทั้งหมดที่เกินพอดี ฟังก์ชันนี้มีประโยชน์มากเมื่อเรามีปัญหาเรื่องขนาด หรือคอนเทนเนอร์มีขนาดเกินที่กำหนด

ไวยากรณ์

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