4) Trình bày giải thuật bổ sung 1 nút mới có chứa dữ liệu X vào trước nút trỏ bởi Q trong danh sách móc nối 2 chiều với: Pdau trỏ vào phần tử đầu, Pcuoi trỏ vào phần tử cuối, mỗi nút có các trường: Data, P_Trai, P_Phai.
Bài làm:
Procedure Insert (Pdau, Pcuoi, Q, X)
New(p); //Tạo nút mới
Data(p):= X;
If Pcuoi := Null then //Danh sách rỗng
P_trai(p) := P_Phai(p) := Null;
Pdau := Pcuoi := p;
Return
End ;
If Q = Pdau then begin //Q trỏ tới nút cực trái
P_Trai(p) := null;
P_Phai(p) := Q;
P_Trai(p) := p;
Pdau :=p;
Return
End ;
P_Trai(p) := P_Trai(Q); //Bổ sung vào giữa
P_Phai(p) := Q;
P_Trai(Q) := p;
P_Phai(P_Trai(p)) :=p;
Return.
Bạn đang đọc truyện trên: Truyen4U.Com