
CU TRÚC NGĂN XP
(STACK)
Bmôn Công nghphn mm
Khoa Công nghthông tin & Truyn thông
Đi hc Cn Thơ

KHÁI NIM NGĂN XP
Là mt dng danh sách ñc bit mà vic
thêm vào hay xóa phn tchthc hin ti
mt ñu, gi là ñnh ca ngăn xp.
Làm vic theo nguyên tc FILO(First In Last
Out) hay LIFO (Last In First Out)

PHÉP TOÁN TRÊN NGĂN XP
MAKENULL_STACK(S): khi to ngăn xp
rng.
EMPTY_STACK(S): kim tra ngăn xp rng.
TOP(S): phn t ñu tiên trên ñnh ngăn xp.
POP(S): xóa phn t ñnh ngăn xp.
PUSH(X,S): thêm phn tX vào ñnh ngăn
xp S.
FULL_STACK(S): kim tra ngăn xp ñy.

CÀI ĐT NGĂN XP BNG MNG
Mô hình lưu tr:
Khai báo:
#define … MaxLength
typedef … ElementType;
typedef struct {
ElementType Elements[MaxLength];
int top_index;
} Stack;
Stack S;
elements
top_index
0
1
.
.
.
maxlength - 1

CÀI ĐT NGĂN XP BNG MNG
Khi to ngăn xp rng:
void MakeNull_Stack(Stack *S){
S->top_index = MaxLength;
}
elements
top_index
0
1
.
.
.
maxlength - 1