เวกเตอร์สามารถปรับขนาดตัวเองได้โดยอัตโนมัติเหมือนกับไดนามิกอาร์เรย์เมื่อองค์ประกอบถูกแทรกหรือลบ คอนเทนเนอร์จะจัดการที่เก็บข้อมูลโดยอัตโนมัติ
ความแตกต่างที่สำคัญระหว่าง vector resize() และ vector reserve() คือ resize() ใช้เพื่อเปลี่ยนขนาดของ vector โดยที่ reserve() doesn't.reserve() ใช้เพื่อเก็บอย่างน้อยจำนวนองค์ประกอบที่ระบุเท่านั้น โดยไม่ต้องจัดสรรหน่วยความจำใหม่ แต่ใน resize() หากตัวเลขน้อยกว่าจำนวนปัจจุบัน ระบบจะปรับขนาดหน่วยความจำและลบพื้นที่ส่วนเกินออก
vector::resize()
Vector resize() ใช้เพื่อเปลี่ยนขนาด
ตัวอย่าง
ขั้นตอนในซอร์สโค้ด:
เริ่มต้น ประกาศตัวแปร v ประเภทเวกเตอร์ ประกาศตัวแปรอื่นเป็นตัววนซ้ำของประเภทเวกเตอร์ ประกาศตัวแปรอีกสองตัว c และ i ของประเภทข้อมูลจำนวนเต็ม ในขณะที่ (1) พิมพ์ “1.Size of the Vector” พิมพ์ “2.Insert Element into the Vector” พิมพ์ “3.ปรับขนาดเวกเตอร์” พิมพ์ “4.Display by Iterator” พิมพ์ “5.Exit” พิมพ์ "ป้อนตัวเลือกของคุณ:" ป้อนค่าของตัวแปร c Switch(c) กรณีที่ 1. พิมพ์ “Size of Vector:”. ฟังก์ชัน Call size() เพื่อพิมพ์ขนาดของเวกเตอร์ หยุดพัก. กรณีที่ 2 พิมพ์ “ป้อนค่าที่จะแทรก:” ป้อนค่าของตัวแปร i เรียกใช้ฟังก์ชัน push_back() เพื่อป้อนค่าในเวกเตอร์ หยุดพัก. กรณีที่ 3 พิมพ์ “ปรับขนาดองค์ประกอบเวกเตอร์:” เรียกใช้ฟังก์ชัน resize() เพื่อปรับขนาดเวกเตอร์ หยุดพัก. กรณีที่ 4. พิมพ์ “การแสดงเวกเตอร์โดย Iterator:” for (it =v.begin(); it !=v.end(); it++) พิมพ์ค่าของ iterator it หยุดพัก. กรณีที่ 5. เรียกใช้ฟังก์ชัน exit() เพื่อออก หยุดพัก. ค่าเริ่มต้น. พิมพ์ “เลือกผิด” จบ.
ตัวอย่าง
#include#include ใช้เนมสเปซ std;int main() { vector v; vector ::วนซ้ำมัน; int ค, ผม; ในขณะที่ (1) { cout<<"1.ขนาดของเวกเตอร์"< >ค; สวิตช์ (c) { กรณีที่ 1:cout <<"ขนาดของเวกเตอร์:"; ศาล< >ผม; v.push_back(ผม); // การแทรกค่าแตก; กรณีที่ 3:cout<<"ปรับขนาดองค์ประกอบเวกเตอร์:"< ผลลัพธ์
1.ขนาดของ Vector2.Insert Element ลงใน Vector3.Resize the vector4.Display by Iterator5.ExitEnter your Choice:1Size of Vector:01.Size of the Vector2.Insert Element into the Vector3.Resize the vector4.Display โดย Iterator5.Exitป้อนตัวเลือกของคุณ:2ป้อนค่าที่จะแทรก:11.ขนาดของ Vector2.Insert Element ลงใน Vector3.Resize the vector4.Display by Iterator5.ExitEnter your Choice:2Enter ค่าที่จะแทรก:21.Size of the Vector2 .Insert Element ลงใน Vector3.Resize the vector4.Display by Iterator5.ExitEnter your Choice:2Enter value to be insert:41.Size of the Vector2.Insert Element into the Vector3.Resize the vector4.Display by Iterator5.ExitEnter your Choice:แทรกองค์ประกอบลงใน Vector3.ปรับขนาด vector4.Display โดย Iterator5.Exit 2ป้อนค่าที่จะแทรก:51.ขนาดของ Vector2.Insert Element ลงใน Vector3.Resize the vector4.Display by Iterator5.ExitEnter your Choice:2Enter value to be inserted:51.Size of the Vector2.Insert Element into the Vector3 ปรับขนาด vector4.Display โดย Iterator5.Exit ป้อนตัวเลือกของคุณ:4Display ing Vector โดย Iterator:1 2 4 5 51.Size of the Vector2.Insert Element into the Vector3.Resize the vector4.Display by Iterator5.ExitEnter your Choice:3Resize the vector elements:1.Size of the Vector2.Insert Element into the Vector3.ปรับขนาด vector4.Display โดย Iterator5.Exit Enter your Choice:4Displaying Vector by Iterator:1 2 4 51.Size of the Vector2.Insert Element into the Vector3.Resize the vector4.Display by Iterator5.Exit Enter your Choice:5ก่อน>vector::reserve()
vector Reserve() บ่งชี้ว่าเวกเตอร์ถูกสร้างขึ้นเพื่อให้สามารถเก็บอย่างน้อยจำนวนขององค์ประกอบที่ระบุโดยไม่ต้องจัดสรรหน่วยความจำใหม่
ขั้นตอนในซอร์สโค้ด
เริ่มต้น ประกาศตัวแปร v ประเภทเวกเตอร์ ประกาศตัวแปรอื่นเป็นตัววนซ้ำของประเภทเวกเตอร์ ประกาศตัวแปรอีกสองตัว c และ i ให้กับประเภทข้อมูลของ inger ในขณะที่ (TRUE) พิมพ์ “1.Size of the Vector” พิมพ์ “2.Insert Element into the Vector” พิมพ์ “3. จองเวกเตอร์” พิมพ์ “4.Display by Iterator” พิมพ์ “5.Exit” พิมพ์ "ป้อนตัวเลือกของคุณ:" ป้อนค่าของตัวแปร c Switch(c) กรณีที่ 1. พิมพ์ “Size of Vector:”. ฟังก์ชัน Call size() เพื่อพิมพ์ขนาดของเวกเตอร์ หยุดพัก. กรณีที่ 2 พิมพ์ “ป้อนค่าที่จะแทรก:” ป้อนค่าของตัวแปร i เรียกใช้ฟังก์ชัน push_back() เพื่อป้อนค่าในเวกเตอร์ หยุดพัก. กรณีที่ 3 พิมพ์ “จององค์ประกอบเวกเตอร์:” ฟังก์ชัน Call Reserve() เพื่อจองขนาดของเวกเตอร์ หยุดพัก. กรณีที่ 4. พิมพ์ “การแสดงเวกเตอร์โดย Iterator:” for (it =v.begin(); it !=v.end(); it++) พิมพ์ค่าของ iterator it หยุดพัก. กรณีที่ 5. เรียกใช้ฟังก์ชัน exit() เพื่อออก หยุดพัก. ค่าเริ่มต้น. พิมพ์ “เลือกผิด” จบ.ตัวอย่าง
#include#include ใช้เนมสเปซ std;int main() { vector v; vector ::วนซ้ำมัน; int ค, ผม; ในขณะที่ (1) { cout<<"1.ขนาดของเวกเตอร์"< >ค; สวิตช์ (c) { กรณีที่ 1:cout <<"ขนาดของเวกเตอร์:"; ศาล< >ผม; v.push_back(ผม); หยุดพัก; กรณีที่ 3:cout<<"จององค์ประกอบเวกเตอร์:"< ผลลัพธ์
1.ขนาดของ Vector2.Insert Element ลงใน Vector3.Reserve the vector4.Display by Iterator5.ExitEnter your Choice:1Size of Vector:01.Size of the Vector2.Insert Element into the Vector3.Reserve the vector4.Display โดย Iterator5.Exitป้อนตัวเลือกของคุณ:2ป้อนค่าที่จะแทรก:11.ขนาดของ Vector2.Insert Element ลงใน Vector3.Reserve the vector4.Display by Iterator5.ExitEnter your Choice:2Enter ค่าที่จะแทรก:21.Size of the Vector2 .Insert Element ลงใน Vector3.Reserve the vector4.Display by Iterator5.ExitEnter your Choice:2Enter ค่าที่จะแทรก:31.Size of the Vector2.Insert Element ลงใน Vector3.Reserve the vector4.Display by Iterator5.Exit Enter your Choice:2ป้อนค่าที่จะแทรก:41.ขนาดของ Vector2.Insert Element ลงใน Vector3.Reserve the vector4.Display by Iterator5.ExitEnter your Choice:2Enter value to be inserted:51.Size of the Vector2.Insert Element into the Vector3 จอง vector4.Display โดย Iterator5.Exit ป้อนตัวเลือกของคุณ:3 จององค์ประกอบเวกเตอร์:1.ขนาดของ Vector2.Insert Element ลงใน Vector3.Reserve the vector4.Display by Iterator5.Exit Enter your Choice:4การแสดงเวกเตอร์โดย Iterator:1 2 3 4 51.Size ของ Vector2.Insert องค์ประกอบลงใน Vector3. จองเวกเตอร์4.แสดงโดย Iterator5.Exit ป้อนตัวเลือกของคุณ:4แสดงเวกเตอร์โดย Iterator:1 2 3 4 51. ขนาดของ Vector2.Insert Element ลงใน Vector3.Reserve the vector4.Display โดย Iterator5.Exit