đề 22
Mã đề 22
Câu 1
Tương tự câu 1 đề 15
Câu 2
Các hàm:
1) procedure insert_first(x:item, var L: list); {thêm phần tử x vào đầu danh sách L} (0.5 đ)
Var m:list;
Begin
new(M);
m^.infor:= x;
M^.next:=L;
l:=M;
End;
2)procedure insert_last(x: Item, var L: list); (thêm một phần tử x vào cuối danh sách L) (0.5 đ)
var M, p:list;
Begin
p:=L; while (p^.next <>nil) do p:=p^.next;
new(M);
M^.infor:= x;
p^.next := M;
m^.next:=nil;
End;
3) Procedure remove_first(var m: list; var L:list )(loại bỏ phần tử đầu tiên trong danh sách L, M trỏ tới phần tử sau khi bị loại bỏ khỏi danh sách); (0.5 đ)
Begin
if (L<>nil) then M:=L; L:=L^.next;
End;
4) Procedure remove_last(var M:list; var L:list)(loại bỏ phần tử cuối cùng trong danh sách L; M trỏ tới nút sau khi loại bỏ khỏi danh sách) (0.5 đ)
var p,q:list;
Begin
if L<>nil Then
Begin
p:=L; q:=p^.next;
while (q^.next<>nil) do
begin
p:q; q:=q^.next;
end;
M:=q; p^.next:=nil;
End;
End;
2) tạo một hàng đợi và một ngăn xếp chứa n phần tử (1 đ)
a)Tạo ngăn xếp
procedure taoNgănxep(var Top:list);
var n, i, x:integer;
Begin
writeln('Nhap n='); readln(n);
for i:= 1 to n do
write('Nhạp gia trị ='); readln(x); insert_first(x, Top);
End;
b) Tạo hàng đợi
procedure taohangdoi(var L,F:list);
var n, i, x:integer;
Begin
L:=nil; F:=nil;
writeln('Nhap n='); readln(n);
for i:= 1 to n do
write('Nhạp gia trị ='); readln(x); insert_last(x, F);
End;
Lấy các phần tử trong hàng đợi và trong ngăn xếp hiển thị lên màn hình(1 đ)
procedure hienthi_nganxep(top:list);
var m:list;
begin
while top<>nil do
begin
remove_firsts(M, Top);
write(M^.infor);
end;
Tương tự với hàng đợi
Câu 3
1. Dựng đồ thị (1đ)
2) Kết quả duyệt (1đ)
Kết quả duiyệt theo chiều rộng: 1 2 4 5 6 3
Kết quả duyệt theo chiều sâu: 12 3 4 5 6
Bạn đang đọc truyện trên: Truyen247.Pro