Информатика и технология программирования


           

Включение по логическому


}

int MU::operator()(void *q, int n=-1)
{ // Включение по логическому номеру

int k=size();
if (n==-1) n=k; // По умолчанию - последним

if (n&#60 0 || n&#62k) return 0; // Недопустимый номер

if (k==sz-1) extend(); // При переполнении - увеличить размерность

for (int i=k; i&#62=n; i--) p[i+1]=p[i];
p[n]=q;
return 1;
}

void *MU::remove(int n=-1) // Удалить по логическому номеру

{
int k=size();
if (n==-1) n=k-1; // По умолчанию - удалить последний

if (n&#60 0 || n&#62=k) return NULL;
void *q=p[n];
for (;p[n]!=NULL; n++) // "Уплотнить" массив указателей

p[n]=p[n+1];
return q;
}

void *MU::min( int (*cmp)(void*,void*))
{ // Итератор поиска минимального

void *pmin;
int i;
for (i=0, pmin=p[0]; p[i]!=NULL; i++)
if ( (*cmp)(pmin,p[i]) &#62 0) pmin=p[i];
return pmin;
}


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий