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

Удаление элемента списка по индексу. Help прошу, пожалуйста

22.12.2020, 12:28. Показов 442. Ответов 0

Author24 — интернет-сервис помощи студентам
Не работает процедура Delete,помогите переписать ее так, чтобы удалялся элемент по индексу в списке

Delphi
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
96
97
98
unit UList;
 
interface
uses UElem,SysUtils;
type
 TList = class
 private
    head,tail: TElem;
    Fsize:integer;
 public
   constructor Create;
   function gethead:Telem;
   function isEmpty:boolean;
   procedure AddEl(el:Telem);
   procedure Delete(index:integer);
   procedure Clear;
   destructor Destroy; override;
   property Size:integer read Fsize write Fsize;
  end;
 
implementation
 
constructor TList.Create;
begin
  head:=nil;      // инициализация списка
end;
 
function TList.gethead:Telem;
begin
 result:=head;
end;
 
procedure TList.AddEl(el:TElem);
begin
 if head=nil then
  begin
   head:=el;
   tail:=el;
  end
 else
  begin
   tail.SetRight(el);
   El.SetLeft(tail);
   tail:=el;
  end;
  inc(Fsize);
end;
 
function TList.isEmpty:boolean;
begin
  result:=head=nil;
end;
 
procedure TList.Delete(index:integer);
var
  i:integer;
  item:TElem;
begin
  if (Index < 0) or (Index > Fsize) then
    raise Exception.Create('index out of range');
 
  if Index < Fsize then
    begin
      for i:= index to Fsize-1  do
      begin
        item:=item.getright;
      end;
      Dec(Fsize);
      end;
      
  if index=Fsize then
    begin
      Dec(Fsize);
      item.destroy;
    end;
end;
 
procedure TList.Clear;
var cur,save:TElem;
begin
  cur:=head;
  while cur<>nil do
  begin
    save:=cur.getright;
    cur.destroy;
    cur:=save;
  end;
  head:=nil;
  tail:=nil;
  Fsize:=0;
end;
 
destructor TList.Destroy;
begin
  Clear;
  inherited Destroy;
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2020, 12:28
Ответы с готовыми решениями:

Удаление элемента списка по индексу
Здравствуйте, отобразил список v-for =&quot;(item, index) in items&quot; :key =&quot;index &quot; @click...

Удаление элемента из списка по индексу.
Надо удалить элемент из списка с индексом 1. using System; using System.Collections.Generic;...

Удаление элемента из списка по его индексу
как удалить например, 6 элемент из этого списка это программа удаляет только первый ...

Удаление элемента по индексу
public void RemoveAt(int index) { if (index &gt;= Count) { throw new...

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

Удаление узла по индексу с однонаправленого списка
Здравствуйте, мне нужно удалить информацию о пятом студенте(пятый узел списка), есть функция...

Удаление элемента из строки по индексу
Нужно удалить элементы из слова по их индексу. Во входной файле &quot;input.txt&quot; в первой строке...

Удаление элемента из List по индексу
Здравствуйте, скажите, а можно ли удалить 1 элемент из List, имеющий номер N? Например, вот мой...

Вставка элемента и удаление по индексу в списке
После вызовов функции push и del visual studio вылетает заголовочный #pragma once...

Удаление элемента в структуре по указанному индексу
Добрый вечер, Пишу программу на C. Вот часть кода, отвечающая за удаление элемента в структуре по...

Удаление элемента из колекции TreeSet по индексу
Добрый день.Может кто помочь.Нужно Удалить все элементы с индексами с 3 по 6. Вот сам код. import...


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

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