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

ข้อดีของ Vector เทียบกับ Array ใน C++


Vector เป็นคลาสเทมเพลตและเป็นคอนสตรัคต์เฉพาะ C++ ในขณะที่ arrays เป็นบิลต์อิน (built-in) language construct และมีอยู่ในทั้ง C และ C++

Vector ถูกนำมาใช้งานเป็น dynamic arrays พร้อมอินเทอร์เฟซแบบลิสต์ ในขณะที่ arrays สามารถนำมาใช้งานเป็น static หรือ dynamic พร้อมอินเทอร์เฟซชนิดข้อมูลพื้นฐาน (primitive data type interface)

ความแตกต่างระหว่าง Vector และ Array

  • Vector เป็น dynamic array ที่ขนาดสามารถเพิ่มได้ ในขณะที่ขนาดของ array ไม่สามารถเปลี่ยนแปลงได้

  • สามารถจองพื้นที่สำรอง (reserve space) ให้ vector ได้ ในขณะที่ array ไม่สามารถจองพื้นที่สำรองได้

  • Vector เป็นคลาส ในขณะที่ array เป็นชนิดข้อมูล (datatype)

  • Vector สามารถเก็บอ็อบเจ็กต์ทุกชนิดได้ ในขณะที่ array เก็บได้เฉพาะค่าหมวดเดียวกัน (homogeneous values)

ข้อดีของ Arrays

  • Arrays รองรับการเข้าถึงแบบสุ่ม (random access) ได้อย่างมีประสิทธิภาพ

  • ง่ายต่อการเรียงลำดับ array

  • เหมาะสมกว่าสำหรับเก็บจำนวนองค์ประกอบที่คงที่

ข้อเสียของ Arrays

  • องค์ประกอบไม่สามารถลบได้

  • การสร้าง array แบบไดนามิกไม่ได้

  • ไม่สามารถเก็บหลายชนิดข้อมูลได้

ข้อดีของ Vector

  • ขนาดของ vector สามารถเปลี่ยนแปลงได้

  • สามารถเก็บอ็อบเจ็กต์หลายประเภทได้

  • สามารถลบองค์ประกอบออกจาก vector ได้

ข้อเสียของ Vector

  • Vector เป็นอ็อบเจ็กต์ การใช้หน่วยความจำมากกว่า