Họ và tên: Trần Văn Linh
Msv:581597
Lớp K58QLTT
----------------------------------------------------------------------------------------------------
A. Giải thuật chương trình
Vào :n;
Ra: xâu nhị phân;
{Giải thuật này chuyên đổi một số nguyên
thành xâu nhị phân sử dụng cài đặt bằng
danh sách liên kết đơn}
Program ChuyenDoiNhiPhan;
1, read(n);
2, while n <> 0 do
Begin
Tg:=n
mode 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 đơn
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 đơn ;}
Procedure
Push(var:T,x);
1,{Tao nút mới }
new<=AVAIL;
infor(new):=x;
link(new):= Ø;
2,{ Bổ dung vào ngăn xếp}
link(new):=N;
T:=N;
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: L,R);
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;
Tg=T->infor ;
T=T->link ;
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;
Lưu ý : P=>AVAIL, P<=AVAIL để biểu thị việc thu hổi và cấp phát bộ nhớ.!
Link chương trình cài đặt bằng C: https://linhtranitvnua.blogspot.com/2016/05/chuong-trinh-chuyen-mot-so-nguyen-thanh.htmlLưu ý : P=>AVAIL, P<=AVAIL để biểu thị việc thu hổi và cấp phát bộ nhớ.!