public myListItem <T> GetItem(int number) { if (number > count) { return(null); } else { if (number == 0) { return(first); } myListItem <T> buf = null; for (int i = 0; i <= number; i++) { if (i == 0) { buf = first; } else { buf = buf.next; } } return(buf); } }
public void Swap(int a, int b) { myListItem <T> temp1 = GetItem(a); myListItem <T> temp2 = GetItem(b); T temp = temp1.data; temp1.data = temp2.data; temp2.data = temp; }
public new IEnumerator <T> GetEnumerator() { myListItem <T> current = first; //Перебор элементов while (current != null) { //Возврат текущего значения yield return(current.data); //Переход к следующему элементу current = current.next; } }
// Добавление public void Add(T element) { myListItem <T> newitem = new myListItem <T>(element); if (count == 0) { first = newitem; last = newitem; } else { last.next = newitem; newitem.pre = last; last = newitem; } count++; }
public T Get(int number) { myListItem <T> buf = GetItem(number); return(buf.data); }