типов в отсортированном


типов в отсортированном массиве. Определим индексы: i - изменяется от 1 до N1 (по ключам первого типа); l - от N1 до N1+N2 (по ключам второго типа); j - от N3 (общее количество ключей) до N1+N2+1. Тогда сортировка выполняется с помощью единственного цикла: i=1;l:=N1+1;j:=N3; while (i<=N1) or (l<j) do Будем запоминать перестановки элементов массива A в массиве P. Нам потребуется следующая процедура: procedure Change(v,w:integer;c1,c2:char); begin inc(cnt);P[cnt,1]:=v;P[cnt,2]:=w;A[v]:=c1;A[w]:=c2; end; Анализ блока «изменения индексов и перестановки ключей» приведен в таблице. i l j Действие A[i]=ch1 - - inc(i) - A[l]=ch2 - inc(l) - - A[j]=ch3 dec(j) A[i]=ch2 A[l]=ch1 - Change(i,l,ch1,ch2) A[i]=ch2 A[l]=ch3 A[j]=ch1 Change(i,j,ch1,ch2) Change(l,j,ch2,ch3) A[i]=ch2 A[l]=ch3 A[j]=ch2 Change(l,j,ch2,ch3) A[i]=ch3 - A[j]=ch1 Change(i,j,ch1,ch3) A[i]=ch3 A[l]=ch1 A[j]=ch2 Change(l,j,ch2,ch1) Change(i,j,ch1,ch3) A[i]=ch3 A[l]=ch3 A[j]=cch2 Change(l,j,ch2,ch3) r97_2
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz