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... ♥

đề 30

Câu 1: Tương tự câu 1 đề 29

Câu 2:

a) Dạng cài đặt của danh sách: (1 đ)

Type Nut = record

infor: integer;

' Next: ^ nut;

end;

List = ^Nut;

Var L, L1, L2, L3: List;

b) Ghép L2 vào sau L1, L trỏ tới danh sách kết quả: (1 đ)

Procedure Ghep1(L1, L2, var L):

if (L2 = nil) then L:=L

else if(L1 = nil) then L:= L2

else Begin

M:=L1;

While(M^.next<>nil)do M:=M^.next;

M^.next := L2;

L:= L1;

End;

c) Ghép L3 vào trước L2, L1 vào sau L2, L trỏ tới danh sách kết quả(1 đ)

Procedure Ghep2(L1, L2, L3, var L):

Begin

Ghep1(L2, L1, M);

Ghep1(L3, M, L );

End;

d) Loại bỏ tất cả các số 0 ra khỏi danh sách L(1 đ)

Kiểm tra xem danh sách L có rỗng hay không? Nếu rỗng trở về chương trình chính, nếu không rỗng thực hiện loại bỏ như sau:

- Sử dụng con trỏ phụ q duyệt tử đầu đến cuối danh sách, nếu q^.info =0 thì gọi thủ tục loại bỏ phần tử được trỏ bởi q trong danh sách

- Viết thủ tục loại bỏ phần tử được trỏ bởi con trỏ q trong danh sách L:

a) Giả sử đã biết vị trí con trỏ q

b) Sử dụng con trỏ phụ p di chuyển đến vị trí trước q:

P:= L;

While p^.next<> q do p:= p^.next;

c) Loại bỏ phần tử ở vị trí q:

p^.next := q^.next;

dispose(q);

q:= p^.next;// lưu vị trí tiếp theo vị trí loại bỏ để còn loại bỏ tiếp

e) Hiển thị danh sách L(1 đ)

procedure Hienthi(l:list);

var i: integer;p: list;

begin

writeln('Danh sách cac so nguyen la:');

p: =L;

while p<>nil do

begin

write(p^.info:6);

p:=p^.next;

end;

end;

Câu 3

Tương tự câu 3 đề 28

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: