stack là 1 vật chứa container các đối tượng làm việc theo cơ chế LIFO nghĩa là việc thêm 1 đối tượng vào stack và lấy ra 1 đối tượng khỏi stack được thực hiện theo cơ chế vào sau ra trước
các đối tượng có thể thêm vào stack bất cứ lúc nào nhưng chỉ có đối tượng cuối cùng mới có thể lấy ra khỏi stack
trong tin học cấu trúc dữ liệu stack có nhiều ứng dụng: như khử đệ quy, tổ chức lưu vết các quá trình tìm kiếm theo chiều sâu và quay lui, vét cạn ứng dụng trong việc tính toán các biểu thức
để biểu diễn stack chúng ta có thể dùng mảng 1 chiều hay danh sách liên kết
-ứng dụng của stack : cấu trúc dữ liệu stack thích hợp lưu trữ các loại dữ liệu mà trình tự truy xuất ngược với trình tự lưu trữ, do vậy 1 số ứng dụng sau cần đến stack
+trong trình biên dịch(thông dịch) khi thực hiện các thủ tục, stack dùng để lưu các môi trường trong các thủ tục
+trong 1 số bài toán của lý thuyết đồ thị(như tìm đường đi) stack cũng thường lưu trữ dữ liệu khi dùng các bài toán này
+ngoài ra stack còn được dùng trong trường hợp khử đệ quy đuôi