เวกเตอร์เป็นคลาส C++ ที่มีประโยชน์มากสำหรับการสร้างไดนามิกอาร์เรย์ ขนาดของเวกเตอร์สามารถเปลี่ยนแปลงได้ตลอดเวลาเพื่อแก้ปัญหาการเขียนโปรแกรมใดๆ ฟังก์ชันในตัวจำนวนมากมีอยู่ใน C++ สำหรับการทำงานประเภทต่างๆ ในคอนเทนเนอร์แบบเวกเตอร์ ฟังก์ชั่น resize() เป็นหนึ่งในนั้น ใช้สำหรับเปลี่ยนขนาดของเวกเตอร์ สามารถเพิ่มหรือลดขนาดเวกเตอร์ได้โดยใช้ฟังก์ชันนี้ มีการอธิบายการใช้ฟังก์ชัน resize() ในเวกเตอร์ C++ ในบทช่วยสอนนี้
ไวยากรณ์:
ฟังก์ชัน resize() สามารถใช้ได้หลายวิธี สองไวยากรณ์ของฟังก์ชันนี้ได้รับด้านล่าง
โมฆะปรับขนาด(size_type n)
หากค่าของ n น้อยกว่าขนาดดั้งเดิมของวัตถุเวกเตอร์ ขนาดของเวกเตอร์จะลดลง หากค่าของ n มากกว่าขนาดดั้งเดิมของเวกเตอร์ ขนาดของเวกเตอร์จะเพิ่มขึ้น หากค่าของ n เท่ากับขนาดดั้งเดิมของเวกเตอร์ ขนาดเวกเตอร์จะยังคงไม่เปลี่ยนแปลง
โมฆะปรับขนาด(size_type n,constvalue_type&ค่า);
หากใช้อาร์กิวเมนต์ที่สองในฟังก์ชันนี้ ค่าของอาร์กิวเมนต์จะถูกเพิ่มที่ส่วนท้ายของเวกเตอร์
ฟังก์ชัน resize() ทั้งสองฟังก์ชันไม่ส่งคืนอะไรเลย
ข้อกำหนดเบื้องต้น:
ก่อนตรวจสอบตัวอย่างของบทช่วยสอนนี้ คุณต้องตรวจสอบก่อนว่าคอมไพเลอร์ g++ ติดตั้งหรือไม่อยู่ในระบบ หากคุณกำลังใช้ Visual Studio Code ให้ติดตั้งส่วนขยายที่จำเป็นเพื่อคอมไพล์ซอร์สโค้ด C++ เพื่อสร้างโค้ดที่เรียกใช้งานได้ ที่นี่ แอปพลิเคชัน Visual Studio Code ถูกใช้เพื่อคอมไพล์และรันโค้ด C++ การใช้งานต่างๆ ของฟังก์ชันนี้ได้แสดงให้เห็นในส่วนถัดไปของบทช่วยสอนนี้โดยใช้ตัวอย่างต่างๆ
ตัวอย่างที่ 1: ลดขนาดของเวกเตอร์
สร้างไฟล์ C++ ด้วยรหัสต่อไปนี้เพื่อตรวจสอบวิธีลดขนาดของเวกเตอร์โดยใช้ฟังก์ชัน resize() มีการประกาศเวกเตอร์ค่าสตริง 4 ค่าในโค้ด มีการแทรกค่าใหม่สามค่าลงในเวกเตอร์หลังจากพิมพ์ขนาดดั้งเดิมของเวกเตอร์ ขนาดของเวกเตอร์ถูกพิมพ์อีกครั้งหลังจากการแทรก มีการใช้ฟังก์ชัน resize() เพื่อลดขนาดของเวกเตอร์เป็น 5 ขนาดของเวกเตอร์ถูกพิมพ์อีกครั้งหลังจากลดขนาดลง
//รวมไลบรารีที่จำเป็น
#รวม
#รวม
โดยใช้ เนมสเปซชั่วโมง;
intหลัก()
{
//ประกาศเวกเตอร์ของค่าสตริง
เวกเตอร์<สตริง>อาหาร= {'เค้ก','ขนมอบ','พิซซ่า','เบอร์เกอร์'};
ค่าใช้จ่าย << 'ขนาดปัจจุบันของเวกเตอร์: ' <<อาหาร.ขนาด() <<endl;
//เพิ่มสามองค์ประกอบ
อาหาร.push_back('พาสต้า');
อาหาร.push_back('มันฝรั่งทอด');
อาหาร.push_back('ไก่ทอด');
ค่าใช้จ่าย << 'ขนาดปัจจุบันของเวกเตอร์หลังการแทรก: ' <<อาหาร.ขนาด() <<endl;
//ปรับขนาดเวกเตอร์
อาหาร.ปรับขนาด(5);
ค่าใช้จ่าย << 'ขนาดปัจจุบันของเวกเตอร์หลังจากปรับขนาด: ' <<อาหาร.ขนาด() <<endl;
กลับ 0;
}
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน ผลลัพธ์แสดงว่าขนาดดั้งเดิมของเวกเตอร์คือ 4 ขนาดกลายเป็น 7 หลังจากใส่ค่าใหม่ 3 ค่า และขนาดกลายเป็น 5 หลังจากใช้ฟังก์ชัน resize()
ตัวอย่างที่ 2: เพิ่มขนาดของเวกเตอร์
สร้างไฟล์ C++ ด้วยรหัสต่อไปนี้เพื่อตรวจสอบวิธีเพิ่มขนาดของเวกเตอร์โดยใช้ฟังก์ชัน resize() มีการประกาศเวกเตอร์ของตัวเลขจำนวนเต็ม 5 ตัวในรหัส ขนาดของเวกเตอร์ดั้งเดิมถูกพิมพ์ก่อนที่จะเพิ่มขนาดของเวกเตอร์โดยใช้ฟังก์ชัน resize() ขนาดของเวกเตอร์ถูกพิมพ์อีกครั้งหลังจากปรับขนาดเป็น 8 จากนั้น มีการแทรกตัวเลข 5 ตัวที่ส่วนท้ายของเวกเตอร์ และขนาดของเวกเตอร์ที่แก้ไขได้ถูกพิมพ์อีกครั้ง
//รวมไลบรารีที่จำเป็น#รวม
#รวม
โดยใช้ เนมสเปซชั่วโมง;
intหลัก()
{
//ประกาศเวกเตอร์ของค่าจำนวนเต็ม
เวกเตอร์<int>ตัวเลข= {10,90,ยี่สิบ,80,30 };
ค่าใช้จ่าย << 'ขนาดปัจจุบันของเวกเตอร์: ' <<ตัวเลขขนาด() <<endl;
//ปรับขนาดเวกเตอร์
ตัวเลขปรับขนาด(8);
ค่าใช้จ่าย << 'ขนาดปัจจุบันของเวกเตอร์หลังจากปรับขนาด: ' <<ตัวเลขขนาด() <<endl;
//เพิ่มตัวเลข 5 ตัวลงในเวกเตอร์
ตัวเลขpush_back(60);
ตัวเลขpush_back(40);
ตัวเลขpush_back(ห้าสิบ);
ตัวเลขpush_back(70);
ตัวเลขpush_back(100);
ค่าใช้จ่าย << 'ขนาดปัจจุบันของเวกเตอร์หลังการแทรก: ' <<ตัวเลขขนาด() <<endl;
กลับ 0;
}
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน ผลลัพธ์แสดงให้เห็นว่าขนาดดั้งเดิมของเวกเตอร์คือ 5 ขนาดกลายเป็น 8 หลังจากการปรับขนาดเวกเตอร์ และขนาดกลายเป็น 13 หลังจากแทรกองค์ประกอบ 5 รายการลงในเวกเตอร์
ตัวอย่างที่ 3: ปรับขนาดเวกเตอร์ด้วยค่า
สร้างไฟล์ C++ ด้วยรหัสต่อไปนี้เพื่อตรวจสอบวิธีการปรับขนาดเวกเตอร์โดยการใส่ค่าเดิมหลายๆ ครั้ง มีการประกาศเวกเตอร์จำนวน 5 ทศนิยมในรหัส ฟังก์ชัน resize() ถูกใช้เพื่อปรับขนาดเวกเตอร์เป็น 7 และใส่ตัวเลข 5.55 ลงในเวกเตอร์สองครั้ง เนื้อหาของเวกเตอร์ดั้งเดิมและเวกเตอร์ที่แก้ไขจะถูกพิมพ์หลังจากรันโค้ด
// การปรับขนาดเวกเตอร์#รวม
#รวม
โดยใช้ เนมสเปซชั่วโมง;
intหลัก()
{
//ประกาศเวกเตอร์ของค่าทศนิยม
เวกเตอร์<ลอย>ตัวเลข= { 7.89,3.98,5.56,9.65,2.33 };
ค่าใช้จ่าย << 'ค่าของเวกเตอร์ก่อนปรับขนาด:NS';
//วนซ้ำเวกเตอร์โดยใช้การวนซ้ำเพื่อพิมพ์ค่า
สำหรับ(intผม= 0;ผม<ตัวเลขขนาด(); ++ผม)
ค่าใช้จ่าย <<ตัวเลข[ผม] << '';
ค่าใช้จ่าย << 'NS';
//ปรับขนาดเวกเตอร์ด้วยค่า
ตัวเลขปรับขนาด(7,5.55);
ค่าใช้จ่าย << 'ค่าของเวกเตอร์หลังจากปรับขนาด:NS';
//วนซ้ำเวกเตอร์โดยใช้การวนซ้ำเพื่อพิมพ์ค่า
สำหรับ(intผม= 0;ผม<ตัวเลขขนาด(); ++ผม)
ค่าใช้จ่าย <<ตัวเลข[ผม] << '';
ค่าใช้จ่าย << 'NS';
กลับ 0;
}
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน ผลลัพธ์แสดงว่ามีการใส่หมายเลข 5.55 สองครั้งที่ส่วนท้ายของเวกเตอร์
บทสรุป:
มีการอธิบายการใช้ฟังก์ชัน resize() เพื่อเปลี่ยนขนาดของเวกเตอร์ที่มีค่าหรือไม่มีค่าในบทช่วยสอนนี้โดยใช้ตัวอย่างง่ายๆ ตัวเข้ารหัส C ++ ใหม่จะสามารถเปลี่ยนขนาดของเวกเตอร์ตามความต้องการโดยใช้ฟังก์ชัน resize() หลังจากอ่านบทช่วยสอนนี้