2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 63
|
|
1 | |
Разработать алгоритм и программу решения задачи, в которой сформировать кольцевой односвязный список.07.05.2009, 19:04. Показов 3707. Ответов 7
Метки нет (Все метки)
Разработать алгоритм и программу решения задачи, в которой сформировать кольцевой односвязный список.
0
|
07.05.2009, 19:04 | |
Ответы с готовыми решениями:
7
Разработать алгоритм и программу решения задачи Сформировать односвязный кольцевой линейный список по файлу целых чисел Разработать рекурсивный алгоритм и программу решения задачи Разработать алгоритм и программу для решения задачи |
2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 63
|
|
11.05.2009, 19:53 [ТС] | 2 |
товарисчи плиз завтро сдавать (((((((
0
|
2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 63
|
|
13.05.2009, 00:04 [ТС] | 3 |
как же переделать в кольцевой ? вод код для линейного:
Код
uses crt; type TList = ^List; List = record znach : integer; Next: TList; end; procedure CreateList(var L: TList); begin L := nil; end; procedure DeleteList(var L: TList); var L1, L2: TList; begin if L = nil then exit; if L^.Next = L then begin Dispose(L); exit; end; L2 := L; L := L^.Next; while L <> L2 do begin L1 := L; L := L^.Next; Dispose(L1); end; Dispose(L2); end; procedure AddToList(var L: TList; S : integer); var L1, L2: TList; begin L1 := L; if L1 = nil then begin new(L1); L1^.Znach := S; L := L1; L^.Next := L; exit; end; while L1^.Next <> L do L1 := L1^.Next; new(L2); L2^.Znach := S; L2^.Next := L; L1^.Next := L2; end; procedure OutList(L: TList); var L1: TList; begin if L = nil then exit; Writeln(L^.Znach); L1 := L^.Next; while L1 <> L do begin Writeln(L1^.Znach); L1 := L1^.Next; end; end; var ListExample: TList; i: integer; begin clrscr; CreateList(ListExample); writeln('Введите числа!0 - конец ввода'); read(i); while i<>0 do begin AddToList(ListExample,i); read(i); end; writeln; OutList(ListExample); readln; readln; end.
0
|
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
|
|
13.05.2009, 00:21 | 4 |
Кольцевой односвязный список красивая вещь это список в котором последний элемент ссылается на первый. По логике вещей, нам всего лишь нужно всегда хранить адрес первого элемента и при добавлении следующего элемента делать связь типа
элемент^.указатель:=указатель_на_первый_элемент Вот и вся Ваша сложность... А что именно нужно реализовать? Построение и вывод на экран ?
0
|
2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 63
|
|
13.05.2009, 02:07 [ТС] | 5 |
Да, именно построение и вывод на экран.А код программы не можете глянуть? чтото у меня не выходит её подкорректировать))
0
|
5 / 5 / 0
Регистрация: 13.05.2009
Сообщений: 11
|
|
13.05.2009, 02:25 | 6 |
вот пример кольца
Код
Type PElement = ^TElement; TElement = Record Data : Longint; Next : PElement; End; Procedure Add(X : Longint; Var R : PElement); {добавление элемента в кольцо, эквивалентно вставки элемента между двумя} Var P : PElement; Begin P:=New(PElement); P^.Data:=X; P^.Next:=R^.Next; R^.Next:=P; End; {Пример реализации} Var R, P : PElement; I : Longint; Begin R:=New(PElement); R^.Data:=0; R^.Next:=R; For I:=1 To 4 Do Add(I, R); I:=0; {два раза выведем список} While (I < 3) Do Begin If R^.Data = 0 Then Inc(I) Else Writeln(R^.Data); R:=R^.Next; End; {уничнтожение списка связано с маленьким фокусом: преобразуем колько в линейный список} P:=R; {"разорвем" список на одном из элементов} R:=R^.Next; P^.Next:=Nil; {уничтожим как обычный список} While R <> Nil Do Begin P:=R; R:=R^.Next; Dispose(P); End; End.
1
|
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
|
||||||
13.05.2009, 02:38 | 7 | |||||
Вот моё видение решения данной задачи...
1
|
0 / 0 / 2
Регистрация: 10.10.2011
Сообщений: 16
|
||||||
28.10.2011, 11:23 | 8 | |||||
Мое решение такое... с комментариями...
0
|
28.10.2011, 11:23 | |
28.10.2011, 11:23 | |
Помогаю со студенческими работами здесь
8
Разработать алгоритм и программу решения задачи с использованием библиотечного модуля Разработать алгоритм методом пошаговой детализации и программу решения задачи Разработать алгоритм и программу решения задачи с использованием модуля пользователя Разработать алгоритм и программу решения задачи с использованием библиотечного модуля Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |