// функция удаления первого элемента очереди
void del(zap **h)
{ zap *f,*pr;
if (!*h)
{ puts("Очередь пуста");
return;
}
if (!(*h)->nx) // в очереди только один элемент
{ free(*h);
*h=NULL; // очередь пуста
return;
}
pr=*h;
while(pr->nx->nx)
pr=pr->nx;
free(pr->nx); // удаление первого элемента из очереди
pr->nx=NULL;
return;
}
// функция удаления любого элемента очереди
void del_any(zap **h,char *st)
{ zap *f,*pr;
if (!*h)
{ puts("Очередь пуста");
return;
}
if (!(*h)->nx && // в очереди только один элемент
(!strcmp((*h)->inf,st) || *st=='\0'))
{ free(*h);
*h=NULL; // очередь пуста
return;
}
pr=*h;
f=pr; // далее f предыдущий к pr элемент
while(pr)
{ if (!strcmp(pr->inf,st)) // найден элемент со строкой st
{ if (pr==*h) {*h=pr->nx; free(pr); f=pr=*h;}
else
{ f->nx=pr->nx; // обходим элемент pr
free(pr); // удаляем элемент pr очереди
pr=f->nx; // выбор следующего элемента очереди pr
}
}
else {f=pr; pr=pr->nx;} // переход к следующему элементу
}
}
// функция сортировки содержимого очереди
void sort(zap **h)
{ zap *s1=*h,*s2,*s3,*s4,*hh=NULL;
s1=*h; // ссылка на хвост очереди
s4=( zap *) calloc(1,sizeof(zap));
for(; s1->nx; s1=s1->nx) // выбор исходного элемента очереди
{ for(s2=s1->nx; s2; s3=s3->nx, s2=s2->nx) // перебор последующих за S1
{ if (s2==s1->nx) s3=s1; // S3-элемент расположенный перед S2
if(strcmp(s1->inf,s2->inf)>0) // найдено новое меньшее значение
{ if (s1->nx==s2) s1->nx=s2->nx; // S1 и S2 - соседние элементы
else s3->nx=s2->nx; // S3 находится между S1 и S2
s2->nx=s1; // элемент с min становится перед S1
s4->nx=s2; // S4- элемент расположенный перед S1
s1=s2; // новый адрес S1- (после замены S1<->S2)
}
}
if(!hh)
{ hh=s1; // модификация текущего указателя на хвост очереди
free(s4);
}
s4=s1;
}
*h=hh; // возврат возможно измененного указателя на хвост
puts("Сортировка выполнена");
}
Для того, чтобы было комфортно и зимой, и летом нужен
кондиционер. В жару приятно охладит, а холодной зимой - не даст замерзнуть.
Свадьба - эт оочень важное событие в жизни.
Съёмка свадебная должна быть на должном уровне, чтобы вспоминать свадьбу, глядя на шикарные фотографии.