Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

đề 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

Tags: