Example #1
0
        public void DeleteKey(T key)
        {
            if (IsEmpty())
            {
                throw new Exception("Пустой список");
            }

            var nodeCurrent = _first;
            var nodePrevios = _first;

            while (!IsEmpty())
            {
                if (nodeCurrent.Data.Equals(key))
                {
                    if (nodeCurrent == _first)
                    {
                        _first = _first.Next;
                    }
                    else if (nodeCurrent == _last)
                    {
                        _last = nodePrevios;
                    }
                    else
                    {
                        nodePrevios.Next = nodeCurrent.Next;
                    }
                    break;
                }
                nodePrevios = nodeCurrent;
                nodeCurrent = nodeCurrent.Next;
            }
        }
        public void AddAfter(T item)
        {
            NodeOne <T> newNode = new NodeOne <T>(item);

            newNode.Next  = _current.Next.Next;
            _current.Next = newNode;
        }
Example #3
0
        public void AddFirst(T item)
        {
            var node = new NodeOne <T>(item);

            node.Next = First;
            First     = node;
        }
        public void AddBefore(T item)
        {
            NodeOne <T> newnode = new NodeOne <T>(item);

            _priviois.Next = newnode;
            newnode.Next   = _current;
        }
 public bool MoveNext()
 {
     _priviois = _current;
     _current  = _current.Next;
     if (_current == null)
     {
         return(false);
     }
     return(true);
 }
Example #6
0
        public void AddFirst(T item)
        {
            var node = new NodeOne <T>(item);

            if (IsEmpty())
            {
                _last = node;
            }
            node.Next = _first;
            _first    = node;
        }
Example #7
0
        public T RemoveFirst()
        {
            if (IsEmpty())
            {
                throw new Exception("Пустой список");
            }

            var temp = First;

            First = First.Next;
            return(temp.Data);
        }
        public T RemoveFirst()
        {
            if (_first == null)
            {
                throw new Exception("Список пуст");
            }

            var node = _first;

            _first = _first.Next;

            return(node.Data);
        }
Example #9
0
        public void AddLast(T item)
        {
            var node = new NodeOne <T>(item);

            if (IsEmpty())
            {
                _first = node;
            }
            else
            {
                _last.Next = node;
            }
            _last = node;
        }
Example #10
0
        public T DeleteFirst()
        {
            if (IsEmpty())
            {
                throw new Exception("Пустой список");
            }

            var node = _first;

            _first = _first.Next;
            if (IsEmpty())
            {
                _last = null;
            }
            return(node.Data);
        }
        public void Add(T item)
        {
            var newNode = new NodeOne <T>(item);

            if (IsEmpty() || _first.Data.CompareTo(newNode.Data) >= 0)
            {
                newNode.Next = _first;
                _first       = newNode;
            }
            else
            {
                var node = _first;
                while (node.Next != null && node.Next.Data.CompareTo(newNode.Data) < 0)
                {
                    node = node.Next;
                }
                newNode.Next = node.Next;
                node.Next    = newNode;
            }
        }
Example #12
0
 public LinkListEnd()
 {
     _first = null;
     _last  = null;
 }
 public void Reset()
 {
     _current = _list.First;
 }
Example #14
0
 public void MoveNext()
 {
     current = current.Next;
 }
Example #15
0
 public void Reset()
 {
     current = node.
 }
Example #16
0
 public LinkList()
 {
     First = null;
 }