Курсовая работа: Обработка динамических структур
elseif(cur->next==NULL) //если это-последний элемент списка
{
cur->pred->next=NULL; //ссылка предпоследнего элемента на следующий обнуляется
free(cur); //память под старый конец списка освобождается
cur2->pred->next=NULL; //аналогично для второго
free(cur2);
}
else{
cur->next->pred=cur->pred; //ссылка на следующий элемент у предыдущего элемента (относительно удаляемого) приравнивается следующем элементу
cur->pred->next=cur->next; //ссылка на предыдущий элемент у следующего элемента (относительно удаляемого) приравнивается предыдущему элементу
free(cur); //память освобождается
cur2->next->pred=cur2->pred; //то же для второго
cur2->pred->next=cur2->next;
free(cur2);
}
}
cur=cur->next; //переход к следующему элементу
cur2=cur2->next; //аналогично
}
printf("Было удалено %d книг данного автора",n);
}
getch();
}
//---------------------------------------------------------------------\\
voidvozvrat(el *cur,el *cur2) //возвращение элемента
{
char iskA[10],iskN[10];
int n=0;
clrscr();