Имеем два вектора: q и t

Идентификаторы:
J – начало необработанной части таблицы;
l – конец необработанной части таблицы (№ последнего элемента не просмотренной таблицы);
m – номер позиции адресата (т.е. адрес, куда поместить найденный элемент);
K – номер задания с минимальным значением параметра (q).
m – может принимать значения l или j. Если значение переменной CR=0, то работа по критерию t, если CR=1, то работа по критерию q.
·НАЧАЛО
·ПОДГОТОВКА – l=n, j=1 <Вся таблица еще не обработана>
·DО1 <Пока j<l > (цикл работает, пока не обработаем таблицу)
·ПОИСК МIN в необработанной части таблицы
·ПОДГОТОВАКА S =¥(максимальное значение в табл.), i=j
·DО2<пока не просмотрим необработанную часть ( т.е. i £ j )>
·IF (qi < S)
S=qi(новый минимум)
K=i (адрес нового минимума)
CR=0 (минимумом является параметр q)
·FI
·IF( t i < S )
S=t i
K=i
CR=1 (минимумом является параметр t)
·FI
i=i+1
·DО2
· ПОДГОТОВАКА НОМЕРА АДРЕСАТА
·IF(CR=0)
m=i (перезапись вверх)
j=j+1(необработанная часть будет сокращается сверху)
·FI
·IF(CR=1)
m=l
l=l-1(необработанная часть будет сокращается снизу)
·FI
·ПОМЕНЯТЬ МЕСТАМИ К-ый и m-ый ЭЛЕМЕНТЫ
·P=qk
·qk=qm
·qm=P
·P=t k
·t k=t m
·t k =P
·DО1
·КОНЕЦ