Структуры и алгоритмы обработки данных

       

Переупорядочение путем перестановки в начало списка


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

Первоначально указатель q нулевой, указатель p указывает на начало списка; p перемещается на второй элемент, а q на первый. Указатель начала списка (table) перемещается на второй элемент, а указатель второго элемента на третий. Таким образом второй элемент перемещается на первое место.

(ПСЕВДОКОД)

   q=nil             

   p=table               

   WHILE (p <> nil) do   

     IF  key=k(p)

               then  SEARCH=p

               next(q)=next(p)

               next(p)=q

               table=p

               return

     end  IF

     q=p

     p=next(p)

   end WHILE

   SEARCH=0

   return



Содержание раздела