0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 8
|
|
1 | |
Добавление элемента в конец списка03.05.2012, 23:39. Показов 6818. Ответов 7
Метки нет Все метки)
(
type ТЭ=...(тип элемента списка)
список=^звено; звено:record элем:ТЭ; след:список; end; Описать и проверить процедуру которая вставляет в конец списка L новый элемент X
0
|
|
03.05.2012, 23:39 | |
Ответы с готовыми решениями:
7
Добавление списка в конец существующего Разработать алгоритм и программу добавления элемента в начало и в конец однонаправленного линейного списка Добавление элемента в начало списка Добавление минимального элемента в начало списка |
13100 / 5881 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
|
||||||
04.05.2012, 11:31 | 2 | |||||
Типы и процедуры для работы с однонаправленным списком:
0
|
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 8
|
|
04.05.2012, 23:09 [ТС] | 3 |
Как решить, не употребляя запись
TList = record PFirst : TPElem; //Указатель на первый элемент списка. PLast : TPElem; //Указатель на последний элемент списка. end; Добавлено через 8 часов 22 минуты есть какие ещё варианты по решению задачи используя процедуру?
0
|
13100 / 5881 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
|
|||||||||||
05.05.2012, 00:01 | 4 | ||||||||||
Вместо записи типа TList можно использовать две отдельные переменные - указатели на начало и на конец списка. Или можно даже только один указатель использовать - на начало списка. Но при этом добавление элементов в конец будет неудобным. Тогда, для добавления нового элемента, придётся сначала перебрать все элементы списка и дойти до его конца и только потом добавить новый элемент. В общем, запись типа TList наиболее удобно представляет список.
Если всё же применить две отдельные переменные, тогда процедура добавления элемента в конец списка будет такой:
0
|
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 8
|
||||||
05.05.2012, 09:36 [ТС] | 5 | |||||
0
|
13100 / 5881 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
|
||||||
05.05.2012, 10:59 | 6 | |||||
Полностью код будет таким. На форму надо положить 3 кнопки и 2 Мемо. В Мемо1 вводятся элементы - каждый элемент на отдельной строке. При нажатии на кнопку Button1 элементы из Мемо1 добавляются в конец списка. При нажатии на Button2 список распечатывается в Мемо2. При нажатии на Button3 список удаляется. Если в Мемо1 на какой-то строке число будет введено не правильно, в этом случае, при добавлении в список, для этой строки будет взято значение 0 (ноль).
0
|
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 8
|
|||||||||||
07.05.2012, 14:47 [ТС] | 7 | ||||||||||
var i : Integer; begin if aPList = nil then begin Result := 'Список пуст.'; Exit; end; Result := ''; i := 0; while aPList <> nil do begin Inc(i); if i > 1 then Result := Result + ','; Result := Result + IntToStr(aPList^.Data); aPList := aPList^.PNext; end; end;
0
|
13100 / 5881 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
|
||||||
07.05.2012, 15:32 | 8 | |||||
В виде функции тот код более лаконичен. В Delphi есть функции: IntToStr(), FlostToStr(), DateToStr() и мы написали функцию ListToStr().
--- В виде процедуры:
2
|
07.05.2012, 15:32 | |
07.05.2012, 15:32 | |
Помогаю со студенческими работами здесь
8
Добавление элемента списка, равного среднему арифметическому элементов Добавление элемента в конец списка Добавление элемента в конец списка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |