1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Please purchase a personal license.STACK - KHÁI NIỆM NGĂN XẾP

13 302 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 83,92 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

KHÁI NIỆM NGĂN XẾP Là một danh sách tuyến tính Bổ sung một phần tử vào ngăn xếp hoặc lấy một phần tử ra khỏi ngăn xếp chỉ thực hiện ở B C Đáy Hình ảnh ngăn xếp Item... BIỂU DIỄN CẤU TRÚ

Trang 1

Please purchase a personal license.

STACK

Trang 2

KHÁI NIỆM NGĂN XẾP

 Là một danh sách tuyến tính

 Bổ sung một phần tử vào ngăn

xếp hoặc lấy một phần tử ra

khỏi ngăn xếp chỉ thực hiện ở

B C

Đáy

Hình ảnh ngăn xếp

Item

Trang 3

BIỂU DIỄN CẤU TRÚC DỮ LIỆU

#define Max N //Định nghĩa kiểu Item

struct Stack{

Item E[Max] ; int top ;

} ;

Stack S ; //Khai báo ngăn xếp S

 N là độ dài của ngăn xếp

 Item là kiểu dữ liệu của các phần tử

 Ngăn xếp là một cấu trúc gồm 2 thành phần

 Biến top lưu chỉ số của phần tử mảng lưu phần tử ở

đỉ nh ngăn xếp

 Mảng E lưu các phần tử của ngăn xếp

Stack S ; //Khai báo ngăn xếp S

Trang 4

BIỂU DIỄN CẤU TRÚC DỮ LIỆU

D

top=3

Max=7

Chưa có 6

D C B A

0 1 2 top=3

E

Ngăn xếp

Mảng lưu trữ ngăn xếp

Trang 5

BIỂU DIỄN CẤU TRÚC DỮ LIỆU

Const Max = N ; Type Stack = Record

E : Array[1 Max] Of Item ; top : 0 Max ;

End ; Var S : Stack ; {Khai báo ngăn xếp S}

 N là độ dài của ngăn xếp

 Item là kiểu dữ liệu của các phần tử

 Ngăn xếp là một bản ghi gồm hai trường

 Biến top lưu chỉ số của phần tử mảng lưu phần tử ở

đỉ nh ngăn xếp

 Mảng E lưu các phần tử của ngăn xếp

Trang 6

BIỂU DIỄN CẤU TRÚC DỮ LIỆU

#define Max 100 struct Hoc_sinh{

char ho_ten[25];

Ví dụ: Ngăn xếp chứa thông tin học sinh

char ho_ten[25];

int tuoi;

float dtb;

};

struct Stack{

Hoc_sinh E[Max];

int top;

};

Stack S;

Trang 7

CÁC PHÉP TOÁN TRÊN NX

 Khởi tạo ngăn xếp rỗng

void Initialize (Stack &S)

{

S.top = -1;

Max=7

4 5 6

}

 Kiểm tra ngăn xếp rỗng

int Empty (Stack S)

{

return (S.top == -1);

}

0 1 2 3

E

Ngăn xếp rỗng

top = -1

Trang 8

CÁC PHÉP TOÁN TRÊN NX

 Kiểm tra ngăn xếp đầy

3

Max=7

G F E D

4 5

top = Max-1

6

int Full (Stack S)

{

return (S.top == Max-1);

}

0 1 2 3

E

D C B A

Ngăn xếp đầy

Trang 9

CÁC PHÉP TOÁN TRÊN NX

 Bổ sung một phần tử X vào đỉnh ngăn xếp S

Max=7

5

Max=7

Max=7

6

0 1 2

E

D C B A

4

5

top = 4

0 1 2 3

E

D C B A

5

top 3

X

top = 4

0 1 2 3

E

X

D C B A

5

Trang 10

CÁC PHÉP TOÁN TRÊN NX

 Bổ sung một phần tử vào đỉnh ngăn xếp S

int PUSH (Stack &S, Item X)

{

if ( Full(S)) return 0;

else {

S.top++;

S.E[S.top] = X;

return 1;

} }

Trang 11

CÁC PHÉP TOÁN TRÊN NX

 Lấy một phần tử ở đỉnh ngăn xếp S

Max=7

5

Max=7

5

0

1

2

E

D C B A

4

5

top = 2

0 1

4 3

E

C B A

5

top = 3

D

Trang 12

CÁC PHÉP TOÁN TRÊN NX

 Lấy một phần tử ở đỉnh ngăn xếp S

Int POP (Stack &S, Item &Y)

{

if (Empty(S))

return 0;

else {

Y = S.E[S.top];

S.top ;

return 1;

} }

Trang 13

CÁC PHÉP TOÁN TRÊN NX

 Ví dụ ứng dụng

Viết chương trình:

- Nhập số nguyên dương N

- Đổi số N sang dạng mã nhị phân tương ứng của nó.

- In kết quả ra màn hình

Ngày đăng: 21/04/2016, 18:33

HÌNH ẢNH LIÊN QUAN

Hình ảnh ngăn xếp - Please purchase a personal license.STACK - KHÁI NIỆM NGĂN XẾP
nh ảnh ngăn xếp (Trang 2)

TỪ KHÓA LIÊN QUAN