Bài giảng Các kĩ thuật lập trình: Phần 2
➤ Gửi thông báo lỗi ⚠️ Báo cáo tài liệu vi phạmNội dung chi tiết: Bài giảng Các kĩ thuật lập trình: Phần 2
Bài giảng Các kĩ thuật lập trình: Phần 2
CHƯƠNG 4. NGÀN XẾP, HÀNG ĐỌI, DANH SÁCH LIÊN KẺT4.1.Kiểu dừ liệu ngàn xếp và ứng dụng4.1.1.Định nghĩa và khai báoNgăn xếp (Stack) hav bộ xêp chồng là Bài giảng Các kĩ thuật lập trình: Phần 2 một kiêu danh sách tuyến tính đặc biệt mà phép bô xung phân tử và loại bó phần tư luôn luôn được thực hiên ớ một đầu gọi lã đinh (top).Có thề hĩnh dung stack như một chồng đìa được xếp vào hộp hoặc một băng đạn được nạp vào khâu súng hèn thanh. Quá trinh xêp đìa hoặc nạp đạn chi đirợc thực hiện ớ m Bài giảng Các kĩ thuật lập trình: Phần 2 ột đầu, chiếc đìa hoặc viên đạn cuối cùng lại chiếm vị trí ờ đình đau tiên còn đìa đầu hoặc viên đạn đau lại ở đáy của hộp (bottom), kill lay ra thi đBài giảng Các kĩ thuật lập trình: Phần 2
ìa cuối cùng hoặc viên đạn cuối cùng lại được Lấy ra trước tiên. Nguyên tắc vào sau ra trước cua stack còn được gọi dưới một tên khác LIFO (Last- in- CHƯƠNG 4. NGÀN XẾP, HÀNG ĐỌI, DANH SÁCH LIÊN KẺT4.1.Kiểu dừ liệu ngàn xếp và ứng dụng4.1.1.Định nghĩa và khai báoNgăn xếp (Stack) hav bộ xêp chồng là Bài giảng Các kĩ thuật lập trình: Phần 2 i đình stack (pop). Neu ta muốn thêm một nút vào đinh stack thi trước đó ta phái kiêm tra xem stack đà đầy (full) hay chưa, nếu ta muốn loại bỏ một nút của stack thì ta phải kiêm tra stack có rỗng hay không. Hĩnh 4.1 minh họa sự thay đòi của stack thông qua các thao tác thêm và bót đinh trong stack. Bài giảng Các kĩ thuật lập trình: Phần 2 Giâ sứ ta có một stack s lưu trừ các kí tư Trạng thái bat đau cùa stack được mô ta trong hình a. Khi đó thao tác:push(S.’G’)(hìnhb)push(S,'H')(hìnhc)pBài giảng Các kĩ thuật lập trình: Phần 2
op(S)(hìnhd)pop(S)(hìnhe)push(S.T)(hình f)Cỏ thê lưu trử stack dưới dạng một vector s gồm n thành phần liên tiếp nhau. Neu T Là Là địa chi cúa phần từCHƯƠNG 4. NGÀN XẾP, HÀNG ĐỌI, DANH SÁCH LIÊN KẺT4.1.Kiểu dừ liệu ngàn xếp và ứng dụng4.1.1.Định nghĩa và khai báoNgăn xếp (Stack) hav bộ xêp chồng là Bài giảng Các kĩ thuật lập trình: Phần 2 ị 11110 him 0 la qui ước là -1. Slack Iràn khi T có giá trị là n-1. Mỏi khi một phân lứ đưực thêm vào stack, giá trị cua T dược tăng lên 1 dơn VỊ. kin một phần tư bị loại bo khôi stack giá Irị của I' sè giâm đi mọi đim vị.Dê khai báo một slack, chúng la có thó dùng mộl máng mộl chiểu. Phân lữ ihứ 0 Bài giảng Các kĩ thuật lập trình: Phần 2 là dãy stack, phần tữ cuối cua mang lã dinh stack. Một stack tòng quát là một cấu trúc gồm hai Irường, Irường lop là mộl số nguvcn chí đính slack. TrưBài giảng Các kĩ thuật lập trình: Phần 2
ờng node: là một màng một chiều gồm MAX phần tữ trong dó mồi phần tử là một nút cua stack. Một nút cua stack cô the là một biến đim hoặc một cấu trúc CHƯƠNG 4. NGÀN XẾP, HÀNG ĐỌI, DANH SÁCH LIÊN KẺT4.1.Kiểu dừ liệu ngàn xếp và ứng dụng4.1.1.Định nghĩa và khai báoNgăn xếp (Stack) hav bộ xêp chồng là Bài giảng Các kĩ thuật lập trình: Phần 2 top:ininodesfMAX];! stack:4.1.2.Các thao tác vói stackTrong kill khai báo một stack dùng danh sách tuyến tính, chúng ta cằn định nghía MAX du lớn dè có thè lưu trừ dược mọi đinh cua stack. Một stack dà bị tràn (TOP -MAX- 1) thi nó không thế thêm vào phần tữ trong stack, một stack rồng thì nó không t Bài giảng Các kĩ thuật lập trình: Phần 2 hè đưa ra phân lữ. Vi vậy, chúng la cân xây dựng thêm các thao lác kiêm Ira slack có bị Iràn hay không (íiill) và thao tác kiêm tra stack có rỗng hayBài giảng Các kĩ thuật lập trình: Phần 2
không (empty).Thao tác Empty: Kiêm tra stack có rồng hay không:int Empty(stack *ps) ịif (ps ->iop---ĩ)relurnfl'RUK);leruin (FALSE);ịThao tác Push: ThèCHƯƠNG 4. NGÀN XẾP, HÀNG ĐỌI, DANH SÁCH LIÊN KẺT4.1.Kiểu dừ liệu ngàn xếp và ứng dụng4.1.1.Định nghĩa và khai báoNgăn xếp (Stack) hav bộ xêp chồng là CHƯƠNG 4. NGÀN XẾP, HÀNG ĐỌI, DANH SÁCH LIÊN KẺT4.1.Kiểu dừ liệu ngàn xếp và ứng dụng4.1.1.Định nghĩa và khai báoNgăn xếp (Stack) hav bộ xêp chồng làGọi ngay
Chat zalo
Facebook