コード例 #1
0
ファイル: LinkedList.cs プロジェクト: dzas/TelerikAcademy2016
        public void RemoveFirst(T value)
        {
            if (this.FirstElement == null)
            {
                return;
            }

            var current = this.FirstElement;
            ILinkedListItem <T> previous = null;

            while (!current.Value.Equals(value))
            {
                if (current.NextItem == null)
                {
                    return;
                }

                previous = current;
                current  = current.NextItem;
            }

            if (previous == null)
            {
                this.FirstElement = current.NextItem;
            }
            else
            {
                previous.NextItem = current.NextItem;
            }
        }
コード例 #2
0
ファイル: LinkedList.cs プロジェクト: dzas/TelerikAcademy2016
        public void AddFirst(T value)
        {
            var listItem = new LinkedListItem <T>(value);

            listItem.NextItem = this.FirstElement;

            this.FirstElement = listItem;
        }
コード例 #3
0
ファイル: LinkedList.cs プロジェクト: dzas/TelerikAcademy2016
        public void RemoveFirst()
        {
            if (this.FirstElement == null)
            {
                return;
            }

            var next = this.FirstElement.NextItem;

            this.FirstElement = next;
        }
コード例 #4
0
        public void Enqueue(T value)
        {
            var item = new LinkedListItem <T>(value);

            if (this.LastItem != null)
            {
                this.LastItem.NextItem = item;
            }

            this.LastItem = item;
            if (this.FirstItem == null)
            {
                this.FirstItem = item;
            }

            this.Count++;
        }
コード例 #5
0
ファイル: LinkedList.cs プロジェクト: dzas/TelerikAcademy2016
        public void AddLast(T value)
        {
            var listItem = new LinkedListItem <T>(value);

            if (this.FirstElement == null)
            {
                this.FirstElement = listItem;
                return;
            }

            var currentItem = this.FirstElement;

            while (currentItem.NextItem != null)
            {
                currentItem = currentItem.NextItem;
            }

            currentItem.NextItem = listItem;
        }
コード例 #6
0
ファイル: LinkedList.cs プロジェクト: dzas/TelerikAcademy2016
        public void RemoveLast()
        {
            if (this.FirstElement == null)
            {
                return;
            }

            if (this.FirstElement.NextItem == null)
            {
                this.FirstElement = null;
                return;
            }

            var current  = this.FirstElement;
            var previous = this.FirstElement;

            while (current.NextItem != null)
            {
                previous = current;
                current  = current.NextItem;
            }

            previous.NextItem = null;
        }