cấu trúc dữ liệu và giải thuật stack

15 462 2
cấu trúc dữ liệu và giải thuật stack

Đ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

Ngăn Xếp Định nghĩa Ngăn xếp dạng danh sách, phép tốn xen phần tử vào danh sách loại bỏ phần tử khỏi danh sách phép thực đầu danh sách 2 Các phép toán danh sách khởi tạo danh sách rỗng Procedure intialize(var s: stack); kiểm tra ngăn xếp rỗng Function empty (var s: stack):boolean; kiểm tra ngăn xếp đầy Function full (var s: stack):boolean; Thêm phần tử x vào đỉnh ngăn xếp Procedure push(x: Item, var s: stack) Loại phần tử đỉnh ngăn xếp gán giá trị phần tử cho x Procedure pop(var s: stack, var x: item); Ví dụ: Nếu S ngăn xếp, S=(a1, a2, an) đỉnh ngăn xếp đầu bên phải thực push(x,S) ta S=(a1, a2, an, x) n>=1 thực pop(S,x) ta S=(a1, a2, an-1) x=an 4 Cài đặt danh sách mảng Ngăn xếp S= (a1, a2, an) biểu diễn mảng hình sau: a1 a2 top max an Const max = N; Type Item = .; Stack = record Top: max; Element array[1 max] of Item; End; Var S: stack; - Các thủ tục hàm thực phép toán ngăn xếp Procedure initialize(S:Stack); Begin s.top: = 0; end; function Empty(var S:Stack):boolean; begin Empty:=(s.top=0); End; Function Full(var S: stack):boolean; Begin Full: =(s.top=max); End; Procedure push( x:Item, var S: Stack, var ok : boolean); Begin With s If full(S) then ok:=false Else Begin Top:=top+1; Elment[top]:=X; Ok:=true; End; End; Biểu diễn phép tốn PUSH hình vẽ sau: a1 a1 a1 a2 a2 a2 top an n top max max an n an top x max Procdure pop(var S:Stack, var X:Item, var ok:boolean); Begin With S If empty(S) then ok:= false Else Begin X:=Element[top]; Top:=top-1; Ok:=true; End; End; Cài đặt ngăn xếp danh sách liên kết S an Type Stack = ^cell; Cell = record Infor: Item; Next: Stack; End; Var S: Stack; an-1 a1 - Các thủ tục hàm thể phép toán ngăn xếp cài đặt danh sách liên kết Procedure initialize(Var S:Stack); Begin S := NIL; end; Function Empty(VarS:Stack):Boolean; Begin Empty := (S = NIL); End; S X P Procedure PUSH(Var S : Stack; X : Item, Var ok : boolean); Var P : Stack; Begin New(P); P^.Info := X; p^.Next := S; S := P; ok:= true; End; s an an-1 … a1 Procedure POP(Var S : Stack; Var X : Item; Var OK : Boolean); Var P : Stack; Begin If Empty(S) Then OK := False Else begin P := S; X := S^.Info; S := S^.Next; OK := True; Dispose(P); end; End; ... Procedure intialize(var s: stack) ; kiểm tra ngăn xếp rỗng Function empty (var s: stack) :boolean; kiểm tra ngăn xếp đầy Function full (var s: stack) :boolean; Thêm phần tử x vào đỉnh ngăn xếp Procedure... Next: Stack; End; Var S: Stack; an-1 a1 - Các thủ tục hàm thể phép toán ngăn xếp cài đặt danh sách liên kết Procedure initialize(Var S :Stack) ; Begin S := NIL; end; Function Empty(VarS :Stack) :Boolean;... end; function Empty(var S :Stack) :boolean; begin Empty:=(s.top=0); End; Function Full(var S: stack) :boolean; Begin Full: =(s.top=max); End; Procedure push( x:Item, var S: Stack, var ok : boolean);

Ngày đăng: 15/09/2013, 04:10

Hình ảnh liên quan

Ngăn xếp S=(a1, a2, ... an) được biểu diễn bởi mảng như hình sau: - cấu trúc dữ liệu và giải thuật stack

g.

ăn xếp S=(a1, a2, ... an) được biểu diễn bởi mảng như hình sau: Xem tại trang 4 của tài liệu.
Biểu diễn phép toán PUSH trên hình vẽ sau: - cấu trúc dữ liệu và giải thuật stack

i.

ểu diễn phép toán PUSH trên hình vẽ sau: Xem tại trang 8 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan