Sobes.tech
Junior

Дар кадом контейнерҳо структураҳои додаҳо stack ва queue асос ёфтаанд?

sobes.tech AI

Ҷавоб аз AI

std::stack โดยค่าเริ่มต้นอิงตาม std::deque เช่นเดียวกับ std::queue ที่อิงตาม std::deque ด้วย

สามารถใช้คอนเทนเนอร์อื่น ๆ ได้:

  • std::stack สามารถอิงตาม std::vector หรือ std::list ได้
  • std::queue สามารถอิงตาม std::list ได้

เงื่อนไขที่จำเป็นสำหรับคอนเทนเนอร์พื้นฐาน: ต้องสนับสนุนการดำเนินการเพิ่มและลบองค์ประกอบจากหนึ่งหรือทั้งสองด้าน (สำหรับ stack - ด้านเดียวเท่านั้น, สำหรับ queue - จากด้านต่าง ๆ)

ตัวอย่างการใช้งานกับคอนเทนเนอร์อื่น:

#include <stack>
#include <queue>
#include <vector>
#include <list>

// สแต็กบนพื้นฐานของ std::vector
std::stack<int, std::vector<int>> vector_stack;

// สแต็กบนพื้นฐานของ std::list
std::stack<int, std::list<int>> list_stack;

// คิวบนพื้นฐานของ std::list
std::queue<int, std::list<int>> list_queue;