public void Add(T element) { SimpleListItem <T> newItem = new SimpleListItem <T>(element); this.Count++; if (last == null) { this.first = newItem; this.last = newItem; } else { //Присоединение элемента к цепочке this.last.next = newItem; //Присоединенный элемент считается последним this.last = newItem; } }
public SimpleListItem <T> GetItem(int number) { if ((number < 0) || (number >= this.Count)) { //Можно создать собственный класс исключения throw new Exception("Выход за границу индекса"); } SimpleListItem <T> current = this.first; int i = 0; //Пропускаем нужное количество элементов while (i < number) { //Переход к следующему элементу current = current.next; //Увеличение счетчика i++; } return(current); }
public T Pop() { T Result = default(T); if (this.Count == 0) { return(Result); } if (this.Count == 1) { Result = this.first.data; this.first = null; this.last = null; } else { SimpleListItem <T> newLast = this.GetItem(this.Count - 2); Result = newLast.next.data; this.last = newLast; newLast.next = null; } this.Count--; return(Result); }