Циклдік орын ауыстыру алгоритмдері.Осы есептерлің ішінде циклдік жылжытуды (оңға, солға ) қолданатын есептерді аса маңызды деп білеміз. Осыған байланысты елесі есептерді қарастырайық.
6.6-мысал. Циклдік жылжыту арқылы N элементтен тұратын А массивінің элементтерінің оңға қарай М орынға (позицияға) , ал соңы М позициясында тұрған элементтерді массивтің басына жылжыту керек болсын.
Берілген мәліметтер: A(N) массив элементтері - a(i);
M – массив элементтерін неше позицияға жылжыту керектігін көрсететін шама;
N – А массив элементтерінің саны;
Қосалқы шамалар: B - массив элементтерін уақытша сақтау үшін;
Нәтижесі:A(N) – элементтерін орын алмастыру барысында шыққан массив;
Бұл мысалдың алгоритмін құру барысында цикл ішіндегі цикл үйлесімі қолданды. Сыртқы j параметрі цикл массив элементтерін М-позицияға жылжыту үшін арналған. Бұл цикл параметрінің бастапқы мәні 1-ге тең, соңғы мәні M-ге тең, ал қадам мөлшері 1-ге тең.
…
А массивінің элементтерінің мәндері енгізіледі (цикл арқылы)
j индексіне бастапқы мәні меншіктелінеді
А массивінің соңғы элементі В айнымалысында сақталады
i - параметріне бастапқы мәні меншіктелінеді
Кезектегі элемент алдағы элементке ауыстырылады
Циклдің параметрінің мәні өзгертіледі
ия i - параметрі бойынша циклдің аяқталуы тексеріледі
жоқ
а1-ге В-да сақталынған массивтің соңғы элементі жазылады
Цикл параметрінің мәні өзгертіледі
ия
j - параметрі бойынша циклдің аяқталуы тексеріледі
жоқ
…
21-сурет. Оңға қарай циклдік жылжыту алгоритмі
Ішкі i-параметрлі цикл, кезекті i-ші элементтің орнына алдыңғы i-1-ші орындағы элементтің мәнін жазу арқылы циклдік жылжыту ұйымдастыруға мүмкіншілік береді. Бұл цикл параметрінің бастапқы мәні n-нен басталып 2-ге дейін өзгереді. Ал қадам мөлшері 1-ге тең.