// Msv:581597
//Lớp:K58QLTT
A. Giải thuật chương trình chính
Program ChuyenDoiNhiPhan;
1, read(n);
2, while n <> 0 do
Begin
Tg:=n
mod 2;
Call
Push(Tg);
n:=
n /2;
end
3, while Empty(T) <>TRUE do
write(Pop());
End.
B. Thủ tục bổ sung vào ngăn xếp cài đặt bằng
danh sách liên kết kép
Vào : Ngăn xếp (T,X);
Ra: Không
có;
{Thủ tục này bổ sung phân tử dữ liệu X vào
ngăn xếp (T) có T là nút đỉnh ngăn xếp cài đặt bằng danh sách liên kết kép ;}
Procedure
Push(var:T,x)
1,{Tao nút mới }
new<=AVAIL;
infor(new):=x;
left(new):= Ø;
right(new):=
Ø;
2,{ Bổ dung vào ngăn xếp}
If T =Ø then { trường hợp danh sách rỗng}
T:=
new;
Else
Begin
right(new):=T;
left(T):=new;
T:=new;
End
Return
C. Hàm loại bỏ một phần tử ở đỉnh ngăn xếp
Vào :Ngăn xếp (T);
Ra: Trả phần tử dữ liệu của nút bị loại bỏ.
{Hàm này loại bỏ phần tử của đỉnh ngăn
xêp(T) có T là đỉnh ngăn xếp và trả về phần tử loại bỏ;}
Function Pop(var: T)
1,{Kiem tra danh sach rong};
If
T=Ø then begin
Write(‘Danh
sach rong.!’);
Return
;
End;
2,{Loại bỏ phần tử đỉnh ngăn xếp}
Tg:=INFOR(T);
P:=T;
If
right(T)= Ø then
{Trường hợp danh sách chỉ còn 1 node }
T:= Ø
Else
Begin
T:=right(T);
left(T):=
Ø;
End;
P=>AVAIL;
3, Pop:=Tg;
Return;
D. Hàm kiểm tra ngăn xếp rỗng
Vào: ngăn xếp (T);
Ra :TRUE nếu ngăn xếp rỗng , FALSE nếu ngăn xếp chưa rỗng.
{hàm này kiểm tra ngăn xếp rỗng, ngăn xếp được cài đặt bằng danh sách
liên kép}
Function Empty(T)
If T= Ø then
Empty:=TRUE;
else
Empty:=FALSE;
Return;
https://linhtranitvnua.blogspot.com/2016/05/chuong-trinh-chuyen-oi-1-so-nguyen.html
0 comments:
Post a Comment