Показать сообщение отдельно
Старый 13.05.2009, 00:59   #21 (permalink)
аццкий программист
Новичок
 
Регистрация: 12.05.2009
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Вод имеется код задачи для односвязного линейного помогите пожалуйсто переделать его в кольцевой

Код:
uses crt;
type
TList = ^List;
List = record
znach : integer;
Next: TList;
end;
procedure CreateList(var L: TList);
begin
L := nil;
end;
procedure DeleteList(var L: TList);
var
L1, L2: TList;
begin
if L = nil then exit;
if L^.Next = L
then begin
Dispose(L);
exit;
end;
L2 := L;
L := L^.Next;
while L <> L2 do
begin
L1 := L;
L := L^.Next;
Dispose(L1);
end;
Dispose(L2);
end;
procedure AddToList(var L: TList; S : integer);
var
L1, L2: TList;
begin
L1 := L;
if L1 = nil
then begin
new(L1);
L1^.Znach := S;
L := L1;
L^.Next := L;
exit;
end;
while L1^.Next <> L do
L1 := L1^.Next;

new(L2);
L2^.Znach := S;
L2^.Next := L;
L1^.Next := L2;
end;
procedure OutList(L: TList);
var
L1: TList;
begin
if L = nil then exit;
Writeln(L^.Znach);
L1 := L^.Next;
while L1 <> L do
begin
Writeln(L1^.Znach);
L1 := L1^.Next;
end;
end;
var
ListExample: TList;
i: integer;
begin
clrscr;
CreateList(ListExample);

writeln('Введите числа!0 - конец ввода');
read(i);
while i<>0 do
begin
AddToList(ListExample,i);
read(i);
end;

writeln;
OutList(ListExample);
readln;
readln;
end.
аццкий программист вне форума  
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070