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

แสดงรายการฟังก์ชั่นการปรับขนาด () ใน C ++ STL


ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน list::resize() ใน C++

รายการใน STL คืออะไร

รายการเป็นโครงสร้างข้อมูลที่อนุญาตให้แทรกและลบเวลาคงที่ได้ทุกที่ตามลำดับ รายการถูกนำไปใช้เป็นรายการที่เชื่อมโยงเป็นสองเท่า รายการอนุญาตการจัดสรรหน่วยความจำที่ไม่ต่อเนื่องกัน List ทำการดึงการแทรกและย้ายองค์ประกอบได้ดีกว่าในตำแหน่งใดๆ ในคอนเทนเนอร์ มากกว่าอาร์เรย์ เวกเตอร์ และ deque ใน List การเข้าถึงองค์ประกอบโดยตรงนั้นช้าและ list นั้นคล้ายกับ forward_list แต่ออบเจกต์ของรายการส่งต่อเป็นรายการที่เชื่อมโยงเพียงรายการเดียว และสามารถทำซ้ำได้เพียงส่งต่อเท่านั้น

list::resize() คืออะไร

list::resize() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งประกาศไว้ในไฟล์ส่วนหัว resize() ใช้เพื่อปรับขนาดคอนเทนเนอร์รายการ มันปรับขนาดคอนเทนเนอร์ เพื่อให้มีจำนวนขององค์ประกอบที่เราให้ในอาร์กิวเมนต์ของฟังก์ชัน

ไวยากรณ์

list_name.resize(int n);

หรือ

list_name.resize(int n, const value_type &val);

ฟังก์ชันนี้สามารถรับพารามิเตอร์ได้ภายในหนึ่งหรือสองพารามิเตอร์

พารามิเตอร์

  • n - เป็นประเภทจำนวนเต็มที่กำหนดขนาดคอนเทนเนอร์ใหม่ (จำนวนองค์ประกอบ)

  • val − วัตถุที่มีเนื้อหาที่จะคัดลอกไปยังช่องว่างทั้งหมดในคอนเทนเนอร์

คืนค่า

ฟังก์ชันนี้ไม่ส่งคืนสิ่งใด มันจะปรับขนาดคอนเทนเนอร์เท่านั้น

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
int main(){
   //create a list
   list<int> myList;
   //insert elements to the list
   myList.push_back(1);
   myList.push_back(2);
   myList.push_back(3);
   myList.push_back(4);
   //elemets in th list before Resize
   cout << "List elements are : ";
   for (auto i = myList.begin(); i!= myList.end(); i++)
      cout << *i << " ";
   //Resizing list
   myList.resize(5);
   cout<<"\nList after resize: ";
   for (auto i = myList.begin(); i!= myList.end(); i++)
      cout << *i << " ";
   //Resizing list again
   myList.resize(6);
   cout<<"\nList after resizing it again : ";
   for (auto i = myList.begin(); i != myList.end(); i++)
      cout << *i << " ";
   return 0;
}

ผลลัพธ์

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

List elements are : 1 2 3 4
List after resize : 1 2 3 4 0
List after resizing it again : 1 2 3 4 0 0