Курсовая работа: Обработка динамических структур
x2->pred=cur2;
cur2=x2;
}
}
//---------------------------------------------------------------------\\
void delel(el **top,el **top2) //удаление элементов
{
el *cur=*top,*cur2=*top2; //текущие указатели списков равны указателям на вершины списков
intn=0; //результат поиска
charisk[20]; //фамилия искомого автора
clrscr();
if(cur==NULL) printf("Перед тем, как удалять элементы из списка, создайте его!\n");
else
{
printf("Введите фамилию автора, книги которого должны быть удалены:\n");
scanf("%s",isk); //ввод фамилии искомого автора(он же удаляемый)
while(cur!=NULL) //пока не конец списка
{
if(strcmp(cur->inf.avt,isk)==0) //если фамилия автора у элемента совпадает с введенной
{
n++; //поиск успешен
if(cur==*top) //если удаляемый элемент-вершина
{
*top=(*top)->next; //вершиной становится следующий элемент
cur->next->pred=NULL;и //обнуление указателя новой вершины на предыдущий элемент
free(cur); //освобождение памяти под старую вершину
*top2=(*top2)->next; //по аналогии для второго
cur2->next->pred=NULL;
free(cur2);