Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 03.10.2018
Сообщений: 17

Добавить в упорядоченный список новый элемент, сохранив упорядоченность списка

15.03.2022, 11:21. Показов 1060. Ответов 9

Студворк — интернет-сервис помощи студентам
Пусть дан упорядоченный список названий книг. Необходимо добавить информацию о новой книге, сохранив упорядоченность списка.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.03.2022, 11:21
Ответы с готовыми решениями:

Добавить информацию о новой книге сохранив упорядоченность списка
Пусть дан упорядоченный список названий книг. Необходимо добавить информацию о новой книге сохранив упорядоченность списка Pascal

Списки. Вставить в упорядоченный список новый элемент так, чтобы сохранилась упорядоченность
Вставить в непустой список L, элементы которого упорядочены по неубыванию, новый элемент E так, чтобы сохранилась упорядоченность.

Вставить в непустой упорядоченный по неубыванию список новый элемент, чтобы сохранилась упорядоченность
Помогите пожалуйста, написал программу на С++ , но нужно на С# не могу перевести... Дан список целых чисел. Вставить в непустой список L,...

9
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
15.03.2022, 13:10
Динамические структуры данных (списки, очереди, стеки, деревья)
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
15.03.2022, 13:39
Цитата Сообщение от Keppo12 Посмотреть сообщение
Пусть дан упорядоченный список названий книг.
Кому дан? Где дан? Покажите!
0
0 / 0 / 0
Регистрация: 03.10.2018
Сообщений: 17
17.03.2022, 11:27  [ТС]
«Автостопом по галактике»
«Властелин колец»
«Гордость и предубеждение»
«Тёмные начала»

Дан список книг в алфавитном порядке(упорядоченные)
Необходимо добавить в список информацию о новой книге сохранив упорядоченность списка

«Джейн Эйр»

Те в результате должен получиться данный список
«Автостопом по галактике»
«Властелин колец»
«Гордость и предубеждение»
«Джейн Эйр»
«Тёмные начала»
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
17.03.2022, 12:17
Лучший ответ Сообщение было отмечено Keppo12 как решение

Решение

Т.к. не сказано в каком IDE, поэтому делаю простое сравнение на больше—меньше для строк:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
type tList=^pList;pList=record n:String;p,x:tList;end;
 
var
  l,x,c : tList;
begin
  New(l);l^.p:=nil;l^.n:='Автостопом по галактике';x:=l;
  New(x^.x);x^.x^.p:=x;x:=x^.x;x^.n:='Властелин колец';
  New(x^.x);x^.x^.p:=x;x:=x^.x;x^.n:='Гордость и предубеждение';
  New(x^.x);x^.x^.p:=x;x:=x^.x;x^.n:='Тёмные начала';x^.x:=nil;
  
  x:=l;WriteLn('исходный список:');while x<>nil do begin WriteLn(x^.n);x:=x^.x;end;WriteLn;
  
  New(c);c^.n:='Джейн Эйр';
  if c^.n<l^.n then begin c^.p:=nil;c^.x:=l;l^.p:=c;l:=c;end
  else begin x:=l;while(x^.x<>nil)and(x^.x^.n<c^.n)do x:=x^.x;
    if x^.x=nil then begin x^.x:=c;c^.p:=x;end else
      begin x^.x^.p:=c;c^.x:=x^.x;x^.x:=c;c^.p:=x;end;
  end;
 
  x:=l;WriteLn('новый список:');while x<>nil do begin WriteLn(x^.n);x:=x^.x;end;WriteLn;
end.
Проверено. Работает для любых строк. Вставка происходит не только в середину, но и в начало и хвост списка.
1
0 / 0 / 0
Регистрация: 03.10.2018
Сообщений: 17
18.03.2022, 15:11  [ТС]
Вот что в итоге получилось

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
type EXS=^S;
S=record 
Tinf:String;
Data:String;
next,x:EXS;
end;
var u:EXS;
 
Procedure Print(First:exs);
var x:exs;
begin
x:=first;
while x<>nil do
begin
writeln (x^.data:4);
x:=x^.next;
end;
 
end;
 
 
 
Procedure Init(Var u:EXS);
Var x, y: Exs;
Digit: String;
Begin
Writeln('Введите список ');
u:=Nil; {список пуст}
WriteLn('Введите элементы списка. Конец ввода О');
Readln(Digit);
While Length(Digit)<>0 Do
Begin
New(y); {формирование элемента списка}
y^.next:=Nil; 
y^.Data:=Digit;
If u=nil Then u:=y {вставляем первый элемент списка}
Else x^.next:=y; {вставляем элемент в конец списка}
x:=y;
{переносим значение указателя на последний элемент списка}
Readln(Digit);
End;
 
end;
 
Procedure NewSpis(Var u:EXS);
var
  c:EXS;
  d:string;
  begin
    New(c);
    c^.next:=u;
    Readln(d);
    c^.data:=d;
    u:=c;
  end;
 
 
Procedure Sort(Var u:EXS);
var
  tmp,rab:EXS;
  tmps:String;
begin
 
  rab:=u;
  while rab<>nil do
  begin
    tmp:=rab^.next;
    while tmp<>nil do
    begin
      if tmp^.data<rab^.data then
      begin
        tmps:=tmp^.data;
        tmp^.data:=rab^.data;
        rab^.data:=tmps
      end;
      tmp:=tmp^.next
    end;
    rab:=rab^.next
  end
end;
 
 
 
 
begin
Init(u);
Writeln('Сформированный список');
Print(u);
NewSpis(u);
Sort(u);
Writeln('Отсортированный список');
Print(u);
 
 
end.
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
18.03.2022, 16:27
А чем мой код не устроил?

Что-то у меня не получилось выйти из цикла начального ввода:
Code
1
2
3
4
5
6
7
8
9
10
11
12
Введите список 
Введите элементы списка. Конец ввода О
3lkl;lk;k
2kjhkjhkh
1jkj
4kjhkjhkjhk
0
0
0
0
0
и т.д. без конца
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
21.03.2022, 13:45
Цитата Сообщение от JuriiMW Посмотреть сообщение
Что-то у меня не получилось выйти из цикла начального ввода:
дык, судя по коду
Цитата Сообщение от Keppo12 Посмотреть сообщение
Pascal
1
While Length(Digit)<>0 Do
нужно было просто пустую строчку ввести (просто нажать ENTER)
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
21.03.2022, 15:19
mr-Crocodile, а я не по коду, а по подсказке:
Цитата Сообщение от Keppo12 Посмотреть сообщение
'Введите элементы списка. Конец ввода О'
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
21.03.2022, 16:37
Цитата Сообщение от JuriiMW Посмотреть сообщение
а я не по коду, а по подсказке:
я понял. Просто то, что написано в подсказке - не работает

Если на клетке слона прочтешь надпись: буйвол, — не верь глазам своим (с) Козьма Прутков.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.03.2022, 16:37
Помогаю со студенческими работами здесь

В список, упорядоченный по возрастанию, вставить новый элемент так, чтобы упорядоченность сохранилась
Нужна помощь. В список, упорядоченный по возрастанию, вставить новый элемент так, чтобы упорядоченность сохранилась. Нужно реализовать...

Добавить элемент в упорядоченный список так, чтобы его упорядоченность не нарушалась
Здравствуйте уважаемые! очень нужна помощь. Написать программу, которая осуществляет обработку списков целочисленных элементов,...

В упорядоченный массив вставить заданное число, сохранив упорядоченность, и удалить последний элемент
в упорядоченном по не возрастанию массиве вставить заданное число так чтобы упорядоченность сохранилась и удалить последний элемент массива

Слить два упорядоченных списка в новый, сохранив упорядоченность
Всем доброго времени суток. Нужна помощь в задаче: необходимо слить два упорядоченных списка в новый, сохранив упорядоченность. ...

Необходимо добавить информацию о новой книге, сохранив упорядоченность списка
Пусть дан упорядоченный список названия книг. Необходимо добавить информацию о новой книге, сохранив упорядоченность списка.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru