public void AddCellToStartTest() { // arrange LinkedList <int> list = new LinkedList <int>(); var lastCell = new LinkedListCell <int>(1); // act list.AddCellToStart(lastCell); // assert Assert.Equal(1, list.Count()); }
public LinkedListCell <T> GetByIndex(int i) { int currentNumber = 0; LinkedListCell <T> currentCell = TopCell; while (currentNumber < i) { currentCell = currentCell.Next; currentNumber++; } return(currentCell); }
public void AddCellToStart(LinkedListCell <T> cell) { // если список пустой, то просто заполняем первую ячейку if (TopCell == null) { TopCell = cell; return; } // кладём в новую ячейку предыдущую головную ячейку списка cell.Next = TopCell; // заменяем голову списка на новую TopCell = cell; }
public void AddSecondCellToEndTest() { // arrange LinkedList <int> list = new LinkedList <int>(); var firstCell = new LinkedListCell <int>(1); list.AddCellToEnd(firstCell); var lastCell = new LinkedListCell <int>(1); // act list.AddCellToEnd(lastCell); // assert Assert.Same(firstCell, list.TopCell); Assert.Same(lastCell, list.TopCell.Next); }
public void FindIndexWithSpecifiedInformation() { // arrange LinkedList <int> list = new LinkedList <int>(); var firstCell = new LinkedListCell <int>(7); var secondCell = new LinkedListCell <int>(10); var thirdCell = new LinkedListCell <int>(4); list.AddCellToEnd(firstCell); list.AddCellToEnd(secondCell); list.AddCellToEnd(thirdCell); // act var found = list.GetByIndex(1); // assert Assert.Same(secondCell, found); }
public void AddThreeCellsToEndTest() { // arrange LinkedList <int> list = new LinkedList <int>(); var firstCell = new LinkedListCell <int>(1); var secondCell = new LinkedListCell <int>(1); var thirdCell = new LinkedListCell <int>(1); // act list.AddCellToEnd(firstCell); list.AddCellToEnd(secondCell); list.AddCellToEnd(thirdCell); // assert Assert.Same(firstCell, list.TopCell); Assert.Same(secondCell, list.TopCell.Next); Assert.Same(thirdCell, list.TopCell.Next.Next); }
public void AddCellToEnd(LinkedListCell <T> lastCell) { // проверяем, что у нас вообще есть головная ячейка и если нет, то заполняем её if (TopCell == null) { TopCell = lastCell; return; } // бежим по ячейкам до самого конца списка. тут чем больше у нас элементов, тем дольше и сложнее бежать var currentCell = TopCell; while (currentCell.Next != null) { currentCell = currentCell.Next; } currentCell.Next = lastCell; }