7. 3
next
prev
20
next
prev
15
next
prev
2)
L_S
S
L_E
Temp
8. 3
next
prev
20
next
prev
15
next
prev
3)
L_S
S
L_E
2
next
prev
Temp
9. 3
next
prev
20
next
prev
15
next
prev
L_S
S
L_E
2
next
prev
Nil
4)
Temp
10. procedure D_L_Insert ( var L_S, L_E: D_P; KEY:integer);
var
Temp , S : D_P;
Located: Boolean;
begin
new(Temp);
temp^.ID:=KEY;
temp^.next:=nil;
temp^.prev:=nil;
15
next
prev
Temp
11. If L_S=nil then
begin
L_S:=Temp;
L_E:=Temp;
end
Else
begin
S:=L_S;
Located:=False;
while (S<>nil) and (not Located) do
if S^.id < key then
S:=S^.next
else
Located:=True;
Temp^.next:=S;
+2 points
12. If S=L_S then
begin
L_S^.prev:=Temp;
L_S:=Temp;
end
Else if S=nil then
begin
Temp^.prev := L_E;
L_E^.next := Temp;
L_E:=Temp;
end
Else
begin
Temp^.prev := S^.prev;
S^.prev^.next := Temp;
S^.prev := Temp;
end;
end;
end; {procedure}
14. 3
next
prev
20
next
prev
15
next
prev
L_S
L_E
key
3
2)
temp
3
next
prev
L_S
Nil
temp
L_E
flag
2
15. 3
next
prev
20
next
prev
15
next
prev
L_S
L_E
temp
3)
falg
2
key
20
16. 3
next
prev
20
next
prev
15
next
prev
L_S
L_E
4)
flag
2
key
15
S
17. 3
next
prev
20
next
prev
15
next
prev
L_S
L_E
Nil
flag
1
key
99
5)
S
18. procedure D_L_Delete ( var L_S,L_E: D_P; KEY:integer; var flag :char);
var
Temp , S:D_P;
begin
If L_S=nil then
flag:=‘3’
Else if KEY =L_S^.id then
begin
Temp:=L_S;
L_S:=L_S^.next; ls^.prev:=nill ;
Dispose(Temp);
flag:=‘2’;
If L_s=nil then
L_E:=nil;
Else
L_s^.prev:=nil;
end
19. Else if KEY = L_E^.id then
begin
Temp:=L_E;
L_E:=L_E^.prev; L_E^.next:=nil; Dispose(Temp);
Flag:=‘2’;
end
Else
begin
S:=L_S;
while (S<>nil) and (S^.id <> KEY ) do
S:=S^.next;
if S=nil then
flag:=‘1’;
else
begin
S^.next^.prev:=S^.prev;
S^.prev^.next:=S^.next; Dispose(S);
flag:=‘ 2 ’;
end;
end;
end; {procedure}
20. Homework:
+15 points
اكتب اجرائية البحث عه عنصر ما في سلسة مترابطة
مه طرفيه :
Search( var L_s, L_E : D_P ; Key:integer;
var p: D_P ; var flag: char);
بحيث تحفظ الاجرائية مؤشر على مكان العنصر المراد,
وتعيد محرف يعبر عه حالة البحث ) فشل-وجد العنصر-
السلسلة فارغة(
21. Group : group link
Mobile phone- Kinan : 0994385748
Facebook account : kinan’s account
2 bytes team