Используя линейный односвязный список найти введённое с клавиатуры число, удалить число стоящий перед найденным за 1 позицию и вставить число, введённый с клавиатуры, перед найденным .pascal. через указатели {new(x); {выделение места в памяти для переменной типа spisok} x^.data : =3; { заполним поле data первого элемента} x^.next : =nil; {заполним поле next первого элемента: указатель в nil } head : =x; {установим указатель головы списка на первый элемент}}-пример
116
307
Ответы на вопрос:
// использование указателей для создания односвязного списка // сделано на базе демонстрационного примера pascalabc.net // // pascalabc.net 3.2, сборка 1325 от 19.10.2016 type pnode=^tnode; tnode=record data: integer; next: pnode; end; function newnode(d: integer; n: pnode): pnode; begin new(result); result^.data: =d; result^.next: =n; end; procedure writenode(a: pnode); // вывод односвязного списка begin writeln('содержимое односвязного списка: '); var p: =a; while p< > nil do begin write(p^.data,' '); p: =p^.next; end; writeln end; function seeknode(k: integer; a: pnode): pnode; // поиск элемента со значением k в списке begin var p: =a; result: =nil; while p< > nil do begin if p^.data=k then begin result: =p; break end; p: =p^.next end end; function prednode(a,f: pnode): pnode; // поиск предшественника f среди a begin var p: =a; while p^.next< > f do p: =p^.next; result: =p end; procedure clear(a: pnode); // разрушение односвязного списка begin var p: =a; while p< > nil do begin var p1: =p; p: =p^.next; dispose(p1); // память обязательно возвращать end end; var first,found,father,grandfather,greatgrandfather: pnode; begin randomize; first: =nil; for var i: =1 to 10 do first: =newnode(random(100),first); writenode(first); // первоначальное состояние списка var k: =readinteger('введите число для поиска в списке'); found: =seeknode(k,first); if found< > nil then begin father: =prednode(first,found); // отец grandfather: =prednode(first,father); // дед greatgrandfather: =prednode(first,grandfather); // прадед greatgrandfather^.next: =father; writeln('элемент ',grandfather^.data, ' удален'); dispose(grandfather); writenode(first); k: =readinteger('введите число для вставки'); father^.next: =newnode(k,found); writenode(first); end else writeln('такого числа в списке нет'); clear(first) end. пример содержимое односвязного списка: 11 75 44 86 88 83 92 18 4 23 введите число для поиска в списке 88 элемент 44 удален содержимое односвязного списка: 11 75 86 88 83 92 18 4 23 введите число для вставки 40 содержимое односвязного списка: 11 75 86 40 88 83 92 18 4 23
ответ:
1025 байт 1кбайт 9 бит 1 байт
объяснение:
1020байт=1 кбайт ,1 байт = 8 бит ,
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
незнайка116202.02.2020 05:33
-
bella7777725.02.2023 17:17
-
donchikbukhmas19.11.2022 19:02
-
poli3691421.05.2021 02:12
-
bekovmusa07p0c1pn21.12.2022 23:12
-
Мерген0826.10.2020 15:27
-
Настюшка57522.07.2022 14:41
-
ЭлинаПринцесса5555520.03.2020 04:30
-
ghrtoung19.09.2020 07:57
-
Lidiamazyr22.04.2020 23:49
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.