#c #linked-list #singly-linked-list
#c #связанный список #single-linked-list
Вопрос:
Почему во время вставки двойные указатели отправляются для вставки только в начале и в конце…
void append(Node** head_ref, int new_data) //end
void push(Node** head_ref, int new_data) //beginning
но не во время вставки между некоторыми узлами
void insertAfter(Node* prev_node, int new_data) //after some node
Комментарии:
1. Это способ эмулировать передачу по ссылке в C. В C это не требуется, поскольку у него есть фактические ссылки.
2. если я использую node * только тогда head всегда остается нулевым…
3. пожалуйста, уточните, сэр
4. В качестве упражнения попробуйте реализовать свою структуру данных с
append(Node* head_ref, int new_data)
помощью . Обратите пристальное внимание на крайний случай, когда список пуст. Двойной указатель позволяет аккуратно пропустить этот крайний случай.5. большое спасибо, сэр… когда список будет пуст, мы добавим первый узел, и для этого нам нужно изменить наш головной указатель …!! я прав, сэр??