private void insert(T value) { // Для пустого массива if (size == 0) { arrStart = new cell <T>(); arrStart.value = value; size++; return; } cell <T> p; p = arrStart; while (p != null) { // Уже есть if (value.CompareTo(p.value) == 0) { break; } // Вставить в начало if (value.CompareTo(p.value) < 0 && p == arrStart) { arrStart = new cell <T>(); arrStart.value = value; arrStart.next = p; size++; break; } // Вставить в конце if (value.CompareTo(p.value) > 0 && p.next == null) { p.next = new cell <T>; p.next.value = value; size++; break; } // Вставить в середине if (value.CompareTo(p.value) < 0) { cell <T> temp = p; p = new cell <T>(); p.value = value; p.next = temp; size++; break; } p = p.next; } }
// Incomplete public void print() { if (size == 0) { return; } cell <T> p = arrStart; while (p != null) { Console.WriteLine(""); p = p.next; } Console.WriteLine(); }
public Set() { size = 0; arrStart = null; }
private void clear() { this.size = 0; arrStart = null; }