Truyen2U.Net quay lại rồi đây! Các bạn truy cập Truyen2U.Com. 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: Truyen2U.Com

Tags: