C++ Data Structures and STL
در C++، Data Structures (ساختارهای دادهای) برای ذخیره و مدیریت دادهها استفاده میشوند و STL (Standard Template Library) مجموعهای از کلاسها و توابع عمومی برای کار با این ساختارهاست. STL باعث میشود بدون نوشتن کد طولانی، دادهها را به راحتی ذخیره، مرتب و پردازش کنیم.
🔹 1️⃣ ساختارهای دادهای اصلی در C++
ساختار دادهای | توضیح |
---|---|
Array | آرایه ثابت با طول مشخص |
Vector | آرایهٔ پویا، اندازه قابل تغییر |
Deque | Double-ended queue، اضافه/حذف از ابتدا و انتها |
List | لیست پیوندی (Doubly Linked List) |
Stack | ساختار LIFO (Last In First Out) |
Queue | ساختار FIFO (First In First Out) |
Priority Queue | صف با اولویت، عناصر بزرگ یا کوچک در اول |
Map | مجموعه کلید-مقدار با کلید یکتا |
Set | مجموعه از عناصر یکتا و مرتب |
Unordered Map/Set | کلید-مقدار بدون مرتبسازی (Hash Table) |
🔹 2️⃣ Vector (آرایه پویا)
📌 خروجی:
🔹 3️⃣ List (لیست پیوندی)
📌 خروجی:
🔹 4️⃣ Stack (پشته)
📌 خروجی:
🔹 5️⃣ Queue (صف)
📌 خروجی:
🔹 6️⃣ Map (کلید-مقدار)
📌 خروجی:
🔹 7️⃣ Set (مجموعه مرتب)
📌 خروجی:
🔹 8️⃣ نکات کلیدی STL
-
همهٔ کلاسها Generic هستند و میتوانند انواع مختلف داده بگیرند.
-
STL شامل الگوریتمهای آماده مثل
sort
,reverse
,find
,binary_search
است. -
استفاده از STL باعث کاهش کدهای دستی و افزایش کارایی و خوانایی برنامه میشود.
-
انتخاب ساختار دادهای مناسب مهم است: Vector برای دسترسی سریع به اندیسها، List برای اضافه/حذف سریع وسط، Map/Set برای جستجوی سریع کلید.
💡 خلاصه:
STL در ++C ترکیبی از ساختارهای دادهای و الگوریتمها است که برنامهنویسی سریع، امن و انعطافپذیر را ممکن میکند و پایهٔ اکثر برنامههای حرفهای و کتابخانههای استاندارد است.