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 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; } }
/// <summary> /// Чтение контейнера с заданным номером /// </summary> 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 void Push(T element) { SimpleListItem <T> a = new SimpleListItem <T>(element); if (this.head == null) { this.last = a; this.last.next = null; this.head = this.last; this.Count = 1; } else { a.next = this.last; this.last = a; this.head = this.last; ++this.Count; } }
///<summary> ///Добавление элемента ///</summary> 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 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); }
public Stack() { this.head = null; }