Работа со списками - Pascal (90116)
Формулировка задачи:
кто знаком с такими динамическими переменными как списки?
У меня с ними БОЛЬШИЕ проблемы О_о: помогите с задачей очень нужно, и пожалуйста просветите, что вообще можно (корректного) делать со списками??
Задача: Удалить второй элемент из списка, и все ему равные.
Я так понимаю, что второй элемент нужно поставить на первое место, и его удалить, а как с подобными?
PS: как то все коряво и добавления элемента мне не надо, и как удалить равные второму?
Решение задачи: «Работа со списками»
textual
Листинг программы
uses crt; type ukazatel=^s; s=record dan:integer; next:ukazatel; end; var i,k:integer; u,x,u1,dx:ukazatel; begin clrscr; new(u); readln(u^.dan); u^.next:=nil; for i:=1 to 4 do begin new(x); readln(x^.dan); if i=3 then k:=x^.dan; x^.next:=u; u:=x; end; writeln('danniy spisok'); x:=u; while x<>nil do begin writeln(x^.dan); x:=x^.next; end; for i:=1 to 4 do begin x:=u^.next; while (x<>nil) and (x^.dan<>k) do begin dx:=x; x:=x^.next; end; if x^.dan=k then begin dx^.next:=x^.next; dispose(x); end; end; { if u^.dan=k then begin x:=u; u:=u^.next; dispose(x); end; } writeln('spisok ...'); u1:=u; while u1<>nil do begin writeln(u1^.dan); u1:=u1^.next; end; readln; end.
Объяснение кода листинга программы
- Объявлены переменные: i, k, u, x, u1, dx типа integer, а также переменная типа ukazatel.
- В цикле создаются 4 элемента списка и заполняются значениями.
- Создается новый элемент списка (головной элемент списка), в который добавляются остальные элементы.
- Запускается цикл по элементам списка и выводятся значения каждого элемента.
- В цикле перебираются элементы списка, начиная с последнего элемента, и проверяется значение каждого элемента на равенство заданному значению
k
. - Если значение текущего элемента равно
k
, то удаляется текущий элемент. - Выводится список элементов.
- В цикле перебираются элементы списка, начиная с первого элемента, и выводятся значения каждого элемента.
- Завершается работа программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д