Односвязный список - объясните, как работают return 0 и return 1 - C (СИ)
Формулировка задачи:
проверьте, пжлса, по комментариям правильно ли я поняла принцип работы программы. Объясните, как здесь работают return 0 и return 1. и можно ли здесь использовать void и какие изменения нужно внести тогда? спс
int Del(LIST *ls, int index)
{
list_elem *elem, LeftEL, RightEL;/создаем указатель на элемент структуры
int i = 0;/номер элемента
if((index<0)||(index>=ls->size)) return 0;/возращаем ноль, если индекс не меньше 0 и не больше последнего элемента
if (index==0){ /если индекс равен 0
elem=ls->head->next;//сохраняем указатель на второй элемент, чтоб не потерять
free(ls->head); //удаляем первый элемент
ls->head=elem; //начало списка теперь указывает на бывший второй элемент
return 1/ что происходит здесь?
}
for(LeftEL= ls->head; i != index-1; elem = elem->next) i++;/здесь происходит проверка , сравниваем элементы
elem = LeftEL->next;/элем передвигается на 1
RightEL=elem->next/правый через элемент занимает след. позицию
free(elem); /удаляем элемент
LeftEL->next =RightEL;/передвигаем весь список
ls->size--;сохраненяем правильный размер
return 1;
}Решение задачи: «Односвязный список - объясните, как работают return 0 и return 1»
textual
Листинг программы
for(LeftEL= ls->head; i != index-1; elem = elem->next) i++;