đề 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: AzTruyen.Top