C++ STL (ไลบรารีเทมเพลตมาตรฐาน) เป็นชุดคลาสเทมเพลต C++ ที่มีประสิทธิภาพเพื่อจัดเตรียมคลาสและฟังก์ชันที่ใช้งานทั่วไปด้วยเทมเพลตที่ใช้อัลกอริทึมและโครงสร้างข้อมูลที่เป็นที่นิยมและใช้กันทั่วไป เช่น เวกเตอร์ รายการ คิว และสแต็ก
เป็นไลบรารีของคลาสคอนเทนเนอร์ อัลกอริธึม และการวนซ้ำ เป็นไลบรารีทั่วไป ดังนั้น คอมโพเนนต์ของมันถูกกำหนดพารามิเตอร์ ความรู้ในการทำงานของคลาสเทมเพลตเป็นข้อกำหนดเบื้องต้นสำหรับการทำงานกับ STL
เทมเพลตเป็นคุณลักษณะของภาษาการเขียนโปรแกรม C++ ที่อนุญาตให้ฟังก์ชันและคลาสทำงานกับประเภททั่วไปได้ ซึ่งช่วยให้ฟังก์ชันหรือคลาสทำงานกับข้อมูลประเภทต่างๆ ได้โดยไม่ต้องเขียนใหม่สำหรับแต่ละประเภท
ไลบรารีเทมเพลตมาตรฐาน C++ มีส่วนประกอบที่มีโครงสร้างดีสามอย่างต่อไปนี้ -
1 ตู้คอนเทนเนอร์
คอนเทนเนอร์ใช้เพื่อจัดการคอลเลกชันของวัตถุบางชนิด มีคอนเทนเนอร์หลายประเภท เช่น deque, list, vector, map เป็นต้น
-
คอนเทนเนอร์ลำดับ - คอนเทนเนอร์เหล่านี้ใช้โครงสร้างข้อมูลที่สามารถเข้าถึงได้ตามลำดับ
- เวกเตอร์
- รายการ
- เดค
- อาร์เรย์
- forward_list
-
ตัวต่อคอนเทนเนอร์ - มีอินเทอร์เฟซที่แตกต่างกันสำหรับคอนเทนเนอร์ตามลำดับ
- คิว
- priority_queue
- กอง
-
คอนเทนเนอร์เชื่อมโยง - ใช้โครงสร้างข้อมูลที่จัดเรียงซึ่งสามารถค้นหาได้อย่างรวดเร็ว (O(log n) ความซับซ้อน)
- ชุด
- มัลติเซ็ต
- แผนที่
- มัลติแมป
-
คอนเทนเนอร์เชื่อมโยงแบบไม่เรียงลำดับ - คอนเทนเนอร์เหล่านี้ใช้โครงสร้างข้อมูลที่ไม่เรียงลำดับซึ่งสามารถค้นหาได้อย่างรวดเร็ว
- unordered_set
- unordered_multiset
- unordered_map
- unordered_multimap
2 อัลกอริธึม
อัลกอริทึมดำเนินการกับคอนเทนเนอร์ สิ่งเหล่านี้ให้วิธีการที่คุณจะดำเนินการเริ่มต้น เรียงลำดับ ค้นหา และแปลงเนื้อหาของคอนเทนเนอร์
อัลกอริทึม
- การเรียงลำดับ
- กำลังค้นหา
- อัลกอริธึม STL ที่สำคัญ
- อัลกอริธึมอาร์เรย์ที่มีประโยชน์
- การทำงานของพาร์ติชั่น
ตัววนซ้ำ 3 ตัว
ตัววนซ้ำใช้เพื่อก้าวผ่านองค์ประกอบของคอลเล็กชันของอ็อบเจ็กต์ คอลเลกชันเหล่านี้อาจเป็นคอนเทนเนอร์หรือชุดย่อยของคอนเทนเนอร์