Lập chương trình cho
máy tính
CẤU TRÚC DỮ LIỆU – STACK và QUEUE
Học kỳ 2, 2004-2005
Lập trình C - CNTT2. 2002 - 2005 190
Cấu trúc dữ liệu
Stack
Queue
Các phép toán trên stack và queue
Biểu diễn stack và queue bằng mảng
Lập trình C - CNTT2. 2002 - 2005 191
Stack
Stack là cấu trúc dữ liệu trong đó các truy xuất đến phần tử
trong stack chỉ thực hiện được với phần tử được chèn vào
mới nhất
LIFO: Last In First Out - vào sau ra trước.
Các thao tác trong stack:
push: chèn phần tử mới vào stack
pop: lấy phần tử đầu stack ra khỏi stack
top: kiểm tra phần tử đầu stack
Lập trình C - CNTT2. 2002 - 2005 192
Stack
Push Pop
Top
Lập trình C - CNTT2. 2002 - 2005 193
Khai báo cấu trúc dữ liệu cho
stack
1. struct StackPtr
2. {
3. int *Array; // mảng các phần tử
4. int TopOfStack; // vị trí phần tử đỉnh stack
5. int MaxSize; // số phần tử tối đa trong stack
6. } *Stack;
7. static const StInitSize = 5;