Даны два упорядоченных по не уыванию линейных односвязных списка. Проверьте, содержаться ли элементы первого списка во втором в указанном порядке. помогите плиз
Bast
15.12.2007 18:09
Ну неужели никто не знает
andriano
15.12.2007 18:13
Есть некоторая неоднозначность в формулировке вопроса: "Содержатся ли элементы" или "содержатся ли в указанном порядке". Ответ в общем случае будет таков: если содержатся, то именно в указанном порядке.
Lapp
15.12.2007 18:39
А в частном случае - покажи, что сама уже сделала. Надеюсь, ты не рассчитываешь, что здесь напишут всю программу за тебя.
Если теья интересует алгоритм, то он примерно такой: идешь по двум спискам с начала до конца параллельно. То есть, сначала становишься на первые элементы и сравниваешь их. Потом продвигаешься на один элемент по списку, у которого первый элемент меньше. Потом то же самое, и т.д. Если встречаешь одинаковые элементы - записываешь их и потом продвигаешься по любому из них. И так пока не кончится один из списков.
andriano
15.12.2007 21:43
Lapp, "в указанном порядке" не означает в общем случае, что элементы должны следовать именно подряд.
Bast
10.01.2008 23:13
TYPE
plist=^list;
list=record
data:longint;
next:plist;
end;
VAR
x1,x2:plist;
Procedure readdata;
Begin//тут эти два списка надо читать
End;
var
y1,y2:plist;
BEGIN
readdata;
y1:=x1;
y2:=x2;
while (y1<>nil) and (y2<>nil) dobeginif y1^.data<>y2^.data then break;
y1:=y1^.next;
y2:=y2^.next;
end;
if (y1<>nil) or (y2<>nil) then
write('spiski ne ravni')
else
write('spiski ravni');
End.
Вот только незнаю правильно или нет
Yevgeny
17.01.2008 3:35
а если у тебя окажутся последние элементы в списках (одинаковой длинны) разные, то тогда тогда они будут занилены оба, а прога напишет, что они равны, вроде бы! Так что тебе лучше всего сделать эти списки с последним пустым элементом, а белать всегда до предпоследнего, погда у тебя с нилами никаких проблем не будет
Добавлено через 1 мин. бегать
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.