Хелпикс

Главная

Контакты

Случайная статья





Алгоритм процедуры DeleteList. Алгоритм процедуры MoveElem. Алгоритм процедуры SortList



Алгоритм процедуры DeleteList

          ( var root: PList)

 

Заданы: указатель на начало списка.

 

1. Если root ≠ nil, то к п. 2, иначе к п.; пока не пройден весь список

2. DelElem=root; удаляемый элемент – первый

3. root: =root^. Next; переходим к следующему элементу списка

4. Dispose(DelElem); удаляем очередной элемент списка

5. Переход к п. 1

6. Конец.

Алгоритм процедуры MoveElem

          ( var root: PList)

 

Заданы: указатель на позицию, перед той, откуда надо перемещать элемент и указатель на позицию, перед той, куда надо перемещать.

1. buf=FromP^. next; буферная переменная указывает на перемещаемый элемент

2. FromP^. next=buf^. next; связываем предыдущий и следующий элементы

3. buf^. next: =Top^. next; перемещаемый элемент ссылается на следующий, после того, куда перемещаем

4. Top^. next: =buf; тот элемент, куда перемещаем ссылается на тот, который перемещаем

5. Top: =buf; элементы располагаются в обычном порядке

6. Конец.

 

Алгоритм процедуры SortList

(varroot: PList; var k: integer)

Заданы: указатель на начало списка и число элементов.

1.  EndSub: =root; указатели на конец отрицательных чисел, на конец

2.  NowP: =root; нулей и на текущее положение устанавливаем на

3.  EndZero: =root; начало списка

4. Если список не пройден до конца (k> 0), то к п. 5, иначе к п. 16

5. Если  NowP^. next^. value< 0, то; если элемент – отрицательный

6. MoveEl(NowP, EndSub); вызов процедуры перемещения элемента

7. k=k-1;  элемент пройден

8. Если NowP^. next^. value=0, то; если элемент равен 0

9. Если k> 1, то

10.  MoveEl(NowP, EndZero); вызов процедуры перемещения элемента

11.  k=k-1; элемент пройден

12.  Если NowP^. next^. value> 0, то; если элемент – положительный

13.  NowP=NowP^. next; переход к следующему элементу списка

14.  k=k-1; элемент пройден

15.  Переход к п. 4

16.  Конец.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.