end=true;
for(j=i+1;j<kol;j++)
{
if(mas2[i]>mas2[j])
{
dop=mas2[i];
mas2[i]=mas2[j];
mas2[j]=dop;
end=false;
count++;
}
}
if(end==true) break;
}
/////////////////////////////////////////////
Invalidate(true);//перерисовка содержимого окна
}
//функция быстрого поиска
voidCSortView::quicksort(intl, intr)
{
int i, j;
i=l;j=r;
{
part(l, r, i, j);
if(i<r)quicksort(i, r);// переход к сортировке левой части
if(j>l)quicksort(l, j);// переход к сортировке правой части
}
}
//функция поиска по частям
void CSortView::part(int l, int r, int &i, int &j)
{
int x, dop;
i=l;
j=r;
x=(l+r)/2;
do
{
while(mas2[i]<mas2[x])
i++;
while(mas2[j]>mas2[x])
j--;
if(i<=j)
{
dop=mas2[i];
mas2[i]=mas2[j];
mas2[j]=dop;
i++;j--;count++;
}
}
while(i<j);
}
Литература
1. Петзольд Ч. Программирование под Windows 95. В двух книгах: BHV – Санкт - Петербург, 1997, silt.
2. Ричард С.Линкер, Том Арчер. Программирование для Windows 98. Библия разработчика. “Диалектика ” – Москва, 1999.-864 с.: ил.- Парал. тит. англ. Уч.пос.
3. Джесс Либерти. С++ за 21 день. ”Вильямс” - Москва, 2000.-816 с.: ил. - Парал.тит. англ.
4. Дэвид Дж. Круглински. Основы С++. “Русская редакция” – Москва, 1997.- 696 с.: ил.
5. Кэйт Грегори. Использование VisualC++. “Вильямс” – Москва, 1999.-864 с.: ил.. - Парал.тит. англ., уч. пос.
7. Конспект лекций.