Пример #1
0
    //добавить элемент в конец
    public void AddLast(IListItem item)
    {
        var tempItem = new ListItem(item.Value, last);

        if (first == null)
        {
            first = tempItem;
        }

        if (last == null)
        {
            last = tempItem;
        }
        else
        {
            last.SetNext(tempItem);
            last = tempItem;
        }
    }
Пример #2
0
    //добавить элемент в начало
    public void AddFirst(IListItem item)
    {
        var tempItem = new ListItem(item.Value, null, first);

        if (last == null)
        {
            last = tempItem;
        }

        if (first == null)
        {
            first = tempItem;
        }
        else
        {
            first.SetPrev(tempItem);
            first = tempItem;
        }
    }
Пример #3
0
    public void Reverse()
    {
        var start = first;

        last = first;

        while (start != null)
        {
            var temp = (IUpgradedListItem)start.Next();
            start.SetNext(start.Prev());
            start.SetPrev(temp);

            if (start.Prev() == null)
            {
                this.first = start;
            }

            start = (IUpgradedListItem)start.Prev();
        }
    }
Пример #4
0
 //очистить список
 public void Clear()
 {
     first = null;
     last  = null;
 }