C++ vector คือโครงสร้างข้อมูลชนิดในหนึ่งภาษา C++ โดยมีคุณสมบัติเป็นโครงสร้างแบบ dynamic มีลักษณะการจัดเก็บข้อมูลคล้ายกับ Array แต่ vector มีความหยืดหยุ่น และมีประสิทธิภาพมากกว่า เพราะ Array เป็นโครงสร้างแบบ static ในบทความนี้จะมาดูวิธีการสร้าง การวนลูปเพื่อแสดงข้อมูลจาก vector ของภาษา C++ สามารถเขียนโค้ดได้ดังนี้
ภาษา C++ โครงสร้างข้อมูลแบบ vector เป็น dynamic ทำให้ขนาดของ vector จะขึ้นอยู่กับขนาดของข้อมูล และรองรับการ เพิ่ม ลบ แก้ไขได้ตลอดเวลา ซึ่งแตกต่างจาก array ซึ่งเป็นโครงสร้างข้อมูลแบบ static ขนาดของ array จะถูกกำหนดมาตั้งแต่แรก และไม่สามารถเปลี่ยนแปลงได้
ตัวอย่าง C++ สร้าง vector และวนลูป vector
#include <iostream>
#include <vector>
int main() {
std::vector<int> data = {1, 2, 3, 4, 5};
for (int i = 0; i < data.size(); i++) {
std::cout << data[i] << " ";
}
return 0;
}
ผลลัพธ์
1 2 3 4 5
จากตัวอย่างสร้าง vector ชื่อ data พร้อมค่าเริ่มต้น {1, 2, 3, 4, 5} จากนั้นใช้คำสั่ง for วนลูปแสดงข้อมูลใน vector ทั้งหมดออกสู่หน้าจอ
ตัวอย่าง C++ ลบข้อมูลใน vector
#include <iostream>
#include <vector>
int main() {
std::vector<int> data = {1, 2, 3, 4, 5};
int delete_index = 1;
data.erase(data.begin() + delete_index);
for (int i = 0; i < data.size(); i++) {
std::cout << data[i] << " ";
}
return 0;
}
ผลลัพธ์
1 3 4 5
จากตัวอย่างลบข้อมูลลำดับ (index) ที่ 1 จาก vector ออกด้วยคำสั่ง data.erase ซึ่งการลบข้อมูลใน vector นั้นจะทำให้ขนาดของ vector เปลี่ยนแปลงโดยอัตโนมัติเนื่องจาก vector เป็นโครงสร้างข้อมูลแบบ dynamic
ตัวอย่าง C++ เพิ่มข้อมูลลงใน vector
#include <iostream>
#include <vector>
int main() {
std::vector<int> data = {1, 2, 3, 4, 5};
data.push_back(6);
for (int i = 0; i < data.size(); i++) {
std::cout << data[i] << " ";
}
return 0;
}
ผลลัพธ์
1 2 3 4 5 6
จากตัวอย่างเพิ่มข้อมูลลงใน vector ด้วยคำสั่ง push_back ซึ่งข้อมูลใหม่จะถูกเพิ่มในลำดับท้ายสุดของ vector ภาษา C++
ตัวอย่าง C++ แก้ไขข้อมูลใน vector
#include <iostream>
#include <vector>
int main() {
std::vector<int> data = {1, 2, 3, 4, 5};
data[0] = 10;
for (int i = 0; i < data.size(); i++) {
std::cout << data[i] << " ";
}
return 0;
}
ผลลัพธ์
10 2 3 4 5
จากตัวอย่าง C++ กรณีต้องการแก้ไขข้อมูลใน vector สามารถเข้าถึงข้อมูลได้เลขผ่านลำดับ (index) และกำหนดค่าใหม่ที่ต้องการได้