Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 26.11.2016
Сообщений: 58
1

Удаление в списке

29.10.2017, 16:41. Показов 419. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В неупорядоченном списке удалить те элементы, для которых выполняется условие: значение элемента меньше значения следующего за ним элемента.

Вот мой код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
q:=head;
  if(counter<>1)  then
  begin
    While q.next.next<>nil do
    begin
      if(q.next.value<q.next.next.value)then
      begin
        temp:=q.next;
        q.next:=q.next.next;
        dispose(temp);
      end
      else
      begin
        q:=q.next;
      end;
Все работает кроме одного случая, когда каждый последующий элемент больше предыдущего
Например
1->5->10->15
После удаления в списке должно остаться 15, а у меня остается 1->15
Как исправить, чтобы голова тоже удалялась если след элемент больше
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2017, 16:41
Ответы с готовыми решениями:

Удаление элемента в списке
помогите с задачей Дан однонаправленный список L из элементов целого типа. Из каждой группы подряд...

Удаление в линейном списке
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Удаление одинаковых записей в списке структур
В магазине формируется список лиц, записавшихся на покупку товара повышенного спроса. Каждая запись...

Удаление элемента из списка. поиск элементов в списке
Не знаю как к этому реализовать поиск и удаление элементов.Помогите пожалуйста.Заранее спасибо )) ...

5
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
29.10.2017, 16:57 2
что такое head?
0
0 / 0 / 0
Регистрация: 26.11.2016
Сообщений: 58
29.10.2017, 17:01  [ТС] 3
head - голова списка
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
29.10.2017, 17:05 4
а в коде можно увидеть?
и что такое next.next тоже
0
0 / 0 / 0
Регистрация: 26.11.2016
Сообщений: 58
29.10.2017, 17:15  [ТС] 5
Вот проект
Вложения
Тип файла: 7z ASD_2 (1).7z (156.2 Кб, 3 просмотров)
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
29.10.2017, 17:52 6
Цитата Сообщение от doc_07 Посмотреть сообщение
temp:=q.next;
* * * * q.next:=q.next.next;
* * * * dispose(temp);
зачем тебе тут переменная Temp?

проект смотрел, но проще его весь переписать чем пытаться понять смысл
0
29.10.2017, 17:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2017, 17:52
Помогаю со студенческими работами здесь

Удаление программы, не содержащейся в списке в окне "Установка и удаление программ"
Угораздило как-то установить Photoshop CS6 Extended. Понадобилось удалить (отдельная история). Ни...

Удаление в списке
Реализован метод удаления после какого-то элемента в спике: void remove(Node *where) { if...

Удаление элемента в Списке
В чём ошибка функции удаления элемента. #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; typedef...

Удаление слов в списке
дан список слов,нужно удалить все слова &quot;программирования&quot; если перед ним стоит слово &quot;языки&quot; ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru