Алгоритмическое мышление при решении задач (на примере языка C#). Шамшев А.Б - 78 стр.

UptoLike

Составители: 

78
Элемент односвязанного списка используется в односвязанном списке.
Следует отметить, что в .NET существует класс List, поэтому наш класс,
который реализует односвязанный список, мы назовем SimpleList. Как уже
было сказано, односвязанный список характеризуется головой (следует
отметить, что для односвязанного циклического списка это не так, но сейчас
идет речь об ациклическом списке).
class SimpleList {
public ListNode head = null;
}
Рассмотрим процесс добавления элементов в список.
Вначале список пуст. Т. е. в нем нет данных. А раз нет данных, то и нет
элементов, в которых хранятся данные. head – один из элементов. А значит head
равно null (т. е. его нет).
Добавим элемент в список. Очевидно, что список примет вид:
Т. е. новый элемент станет головой. При этом ссылка на next в нем будет
равна null. Это если список был пуст. А он был пуст, если head равен null. Тогда
первый шаг в добавлении элемента списка будет:
class SimpleList {
public ListNode head = null;
public bool isEmpty() {
return (head == null);
}
public void add(int newData) {
if (isEmpty()) {
head = new ListNode(newData, null);
} else {
//логика добавления в не пустой список
}
}
}