当前位置: 首页>>代码示例>>C#>>正文


C# SinglyLinkedList.First方法代码示例

本文整理汇总了C#中SinglyLinkedLists.SinglyLinkedList.First方法的典型用法代码示例。如果您正苦于以下问题:C# SinglyLinkedList.First方法的具体用法?C# SinglyLinkedList.First怎么用?C# SinglyLinkedList.First使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SinglyLinkedLists.SinglyLinkedList的用法示例。


在下文中一共展示了SinglyLinkedList.First方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SinglyLinkedList

        // READ: http://msdn.microsoft.com/en-us/library/6x16t2tx.aspx
        // list [i] = value; i is new list q is old list
        public string this[int i]
        {
            get { return this.ElementAt(i); }
            set {
                var placeHolderList = new SinglyLinkedList();

                for (var q = 0; q < this.Count(); q++)
                {
                   if (q==i)
                    {
                        placeHolderList.AddLast(value);
                    }
                    else
                    {
                        placeHolderList.AddLast(this.ElementAt(q));
                    }
                }

                first_node = new SinglyLinkedListNode(placeHolderList.First());
                for (var w = 1; w < placeHolderList.Count(); w++)
                {
                    this.AddLast(placeHolderList.ElementAt(w));
                }
            }
        }
开发者ID:Naa2e,项目名称:csharplinkedlists,代码行数:27,代码来源:SinglyLinkedList.cs

示例2: SinglyLinkedList

        // READ: http://msdn.microsoft.com/en-us/library/6x16t2tx.aspx
        public string this[int i]
        {
            //uses the ElementAt function to get value (saves you from duplicating your code)
            get { return this.ElementAt(i); }
            set
            {
                //using a placeholder list helps save the values in order without having to do voodoo with the pointers
                var placeholderList = new SinglyLinkedList();
                for (var q = 0; q < this.Count(); q++)
                {
                    //if this is the place where you need to exchange the value, insert it here
                    if (q == i)
                    {
                        placeholderList.AddLast(value);
                    }
                    //otherwise, insert the value that was preexisting in the list
                    else
                    {
                        placeholderList.AddLast(this.ElementAt(q));
                    }
                }

                //now swap out the values in the placeholder list into the real list.
                //first swap the first value to clear out the old list
                first_node = new SinglyLinkedListNode(placeholderList.First());
                //then loop through the placeholder list and add the values to the real list in order
                for (var w = 1; w < placeholderList.Count(); w++)
                {
                    this.AddLast(placeholderList.ElementAt(w));
                }
            }
        }
开发者ID:Anne0011,项目名称:csharplinkedlists,代码行数:33,代码来源:SinglyLinkedList.cs

示例3: SinglyLinkedList

        // READ: http://msdn.microsoft.com/en-us/library/6x16t2tx.aspx
        public string this[int i]
        {
            get { return this.ElementAt(i); }
            set
            {
                var copy_of_list = new SinglyLinkedList();
                for (var j = 0; j < this.Count(); j++)
                {
                    if (j == i)
                    {
                        copy_of_list.AddLast(value);
                    }
                    else
                    {
                        copy_of_list.AddLast(this.ElementAt(j));
                    }
                }

                first_node = new SinglyLinkedListNode(copy_of_list.First());
                for (var o = 1; o < copy_of_list.Count(); o++)
                {
                    this.AddLast(copy_of_list.ElementAt(o));
                }
            }
        }
开发者ID:Rittycheriah,项目名称:csharplinkedlists,代码行数:26,代码来源:SinglyLinkedList.cs

示例4: SinglyLinkedList

        // READ: http://msdn.microsoft.com/en-us/library/6x16t2tx.aspx
        public string this[int index]
        {
            get
            {
                return this.ElementAt(index);
            }
            set
            {
                var placeholder = new SinglyLinkedList();
                for(var j = 0; j < this.Count(); j++)
                {
                    if (j == index)
                    {
                        placeholder.AddLast(value);
                    } else
                    {
                        placeholder.AddLast(this.ElementAt(j));
                    }
                }
                first_node = new SinglyLinkedListNode(placeholder.First());

                for(var k = 1; k < placeholder.Count(); k++ )
                {
                    this.AddLast(placeholder.ElementAt(k));
                }
               }
        }
开发者ID:colecathey,项目名称:csharplinkedlists,代码行数:28,代码来源:SinglyLinkedList.cs

示例5: SinglyLinkedList

        // READ: http://msdn.microsoft.com/en-us/library/6x16t2tx.aspx
        public string this[int i]
        {
            get { return this.ElementAt(i); }
            set
            {
                var newList = new SinglyLinkedList();

                for (var x = 0; x < this.Count(); x++)
                {
                    if (x == i)
                    {
                        newList.AddLast(value);
                    }
                    else
                    {
                        newList.AddLast(this.ElementAt(x));
                    }
                }
                    first_node = new SinglyLinkedListNode(newList.First());
                    for (var w = 1; w < newList.Count(); w++)
                {
                    this.AddLast(newList.ElementAt(w));

                }
                }
        }
开发者ID:marsette25,项目名称:csharplinkedlists,代码行数:27,代码来源:SinglyLinkedList.cs

示例6: SinglyLinkedList

        // READ: http://msdn.microsoft.com/en-us/library/6x16t2tx.aspx
        public string this[int i]
        {
            get {return this.ElementAt(i); }
            set
            {
                var placeholder = new SinglyLinkedList();
                for (var k = 0; k < this.Count(); k++)
                {

                    if (i == k)
                    {
                        placeholder.AddLast(value); //if this is the position this is the new value and don't save the existing value.
                    }else
                    {
                        placeholder.AddLast(this.ElementAt(k));
                    }
                }
                first_node = new SinglyLinkedListNode(placeholder.First());//assign first node to be the new list
                for (var j = 1; j < placeholder.Count(); j++)
                {
                    this.AddLast(placeholder.ElementAt(j));//add the remaining values in list
                }
            }
        }
开发者ID:ThomasBangs,项目名称:csharplinkedlists,代码行数:25,代码来源:SinglyLinkedList.cs

示例7: AddAfter

        public void AddAfter(string existingValue, string value)
        {
            //Create an int to store the place in line of the newValue
            int testForValue = -1;

            //find the existing value in the linked list and assign the place in testForValue
            for (var i = 0; i < this.Count(); i++)
            {
                if (this.ElementAt(i) == existingValue)
                {
                    testForValue = i;
                    break;
                }
            }

            //if the existing value isn't in the linked list (if it remains a -1 after the if statement), throw an error
            if (testForValue < 0)
            {
                throw new ArgumentException();
            }

            //use a placeholder linked list to store the nodes in the correct order
            var placeholderList = new SinglyLinkedList();

            //loop through the current linked list and assign each of the values to the placeholder list
            //and insert the new value in its proper place
            for (var q = 0; q < this.Count(); q++)
            {
                //add each value to the placeholder list
                placeholderList.AddLast(this.ElementAt(q));
                //if this spot is the spot where you need to add the new value, add the new value here
                if (q == testForValue)
                {
                    placeholderList.AddLast(value);
                }
            }
            //now reassign the values to the current linked list in order (this.First() etc)
            first_node = new SinglyLinkedListNode(placeholderList.First());
            for (var w = 1; w < placeholderList.Count(); w++)
            {
                this.AddLast(placeholderList.ElementAt(w));
            }
        }
开发者ID:katerebekah,项目名称:csharplinkedlists,代码行数:43,代码来源:SinglyLinkedList.cs

示例8: FirstOnLongerList

 public void FirstOnLongerList()
 {
     SinglyLinkedList<string> list = new SinglyLinkedList<string>();
     list.AddLast("foo");
     list.AddLast("bar");
     Assert.AreEqual("foo", list.First());
 }
开发者ID:sarah-story,项目名称:LinkedList,代码行数:7,代码来源:UnitTestSinglyLInkedList.cs

示例9: FirstOnEmptyList

 public void FirstOnEmptyList()
 {
     SinglyLinkedList list = new SinglyLinkedList();
     Assert.AreEqual(null, list.First());
 }
开发者ID:marsette25,项目名称:csharplinkedlists,代码行数:5,代码来源:UnitTestSinglyLInkedList.cs

示例10: AddAfter

        public void AddAfter(string existingValue, string value)
        {
            //Find the place of  existingValue
            int position = IndexOf(existingValue);
            if (position == -1)//if not in list throw exception
            {

                throw new ArgumentException();
            }
            var placeholder = new SinglyLinkedList(); //assigns a new list to hold values
            for (var i = 0; i < this.Count(); i++)
            {
                placeholder.AddLast(this.ElementAt(i));
                if (i == position)
                {
                    placeholder.AddLast(value); //find the correct position and add new value
                }
            }
            first_node = new SinglyLinkedListNode(placeholder.First());//assign first node to be the new list
            for (var j = 1; j < placeholder.Count(); j++)
            {
                this.AddLast(placeholder.ElementAt(j));//add the remaining values in list
            }
        }
开发者ID:ThomasBangs,项目名称:csharplinkedlists,代码行数:24,代码来源:SinglyLinkedList.cs

示例11: Remove

        public void Remove(string value)
        {
            int position = IndexOf(value);
            var placeholder = new SinglyLinkedList();
            for (var i = 0; i < this.Count(); i++)
            {
                if (i != position)
                {
                    placeholder.AddLast(ElementAt(i));

                }
            }
            first_node = new SinglyLinkedListNode(placeholder.First());//assign first node to be the new list
            for (var j = 1; j < placeholder.Count(); j++)
            {
                this.AddLast(placeholder.ElementAt(j));//add the remaining values in list
            }
        }
开发者ID:ThomasBangs,项目名称:csharplinkedlists,代码行数:18,代码来源:SinglyLinkedList.cs

示例12: SinglyLinkedList

        // READ: http://msdn.microsoft.com/en-us/library/6x16t2tx.aspx
        public string this[int i]
        {
            get
            {
                return this.ElementAt(i);
            }
            set
            {
                var copy_of_list = new SinglyLinkedList();
                for (var k = 0; k < this.Count(); k++)
                {
                    if (k == i)
                    {
                        copy_of_list.AddLast(value);
                    }
                    else
                    {
                        copy_of_list.AddLast(this.ElementAt(k));
                    }
                }

                first_node = new SinglyLinkedListNode(copy_of_list.First());
                for (var Y = 1; Y < copy_of_list.Count(); Y++)
                {
                    this.AddLast(copy_of_list.ElementAt(Y));
                }
            }
        }
开发者ID:ClJarvis,项目名称:csharplinkedlists,代码行数:29,代码来源:SinglyLinkedList.cs

示例13: AddAfter

 public void AddAfter(string existingValue, string newValue)
 {
     int testForValue = -1;
     //throw new NotImplementedException();
     for (var i = 0; i < this.Count(); i++)
     {
         if (this.ElementAt(i) == existingValue)
         {
             testForValue = i;
             break;
         }
     }
     if (testForValue < 0)
     {
         throw new ArgumentException();
     }
     var placeHolderList = new SinglyLinkedList();
     for (var q = 0; q < this.Count(); q++)
     {
         placeHolderList.AddLast(this.ElementAt(q));
         if (q == testForValue)
         {
             placeHolderList.AddLast(newValue);
         }
     }
     first_node = new SinglyLinkedListNode(placeHolderList.First());
     for (var w = 1; w < placeHolderList.Count(); w++)
     {
         this.AddLast(placeHolderList.ElementAt(w));
     }
 }
开发者ID:LandoB,项目名称:csharplinkedlists,代码行数:31,代码来源:SinglyLinkedList.cs

示例14: AddFirst

        public void AddFirst(string value)
        {
            if (this.First() == null)
            {
                first_node = new SinglyLinkedListNode(value);
            }
            else
            {
                var newFirstNode = new SinglyLinkedListNode(value);
                var placeHolderList = new SinglyLinkedList();
                placeHolderList.AddFirst(newFirstNode.Value);
                for (var i = 0; i < this.Count(); i++)
                {
                    placeHolderList.AddLast(this.ElementAt(i));
                }
                first_node = new SinglyLinkedListNode(placeHolderList.First());
                for (var q = 1; q < placeHolderList.Count(); q++)
                {
                    this.AddLast(placeHolderList.ElementAt(q));
                }

            }
        }
开发者ID:LandoB,项目名称:csharplinkedlists,代码行数:23,代码来源:SinglyLinkedList.cs

示例15: AddFirst

 public void AddFirst(string value)
 {
     //if this is the first node, this is just an assignment
     if (this.First() == null)
     {
         first_node = new SinglyLinkedListNode(value);
     }
     else
     {
         //create a placeholder list to store the values in order.
         var placeholderList = new SinglyLinkedList();
         placeholderList.AddFirst(value);
         for (var i = 0; i < this.Count(); i++)
         {
             placeholderList.AddLast(this.ElementAt(i));
         }
         //now reassign the values to the current linked list in order (this.First() etc)
         first_node = new SinglyLinkedListNode(placeholderList.First());
         for (var q = 1; q < placeholderList.Count(); q++ )
         {
             this.AddLast(placeholderList.ElementAt(q));
         }
     }
 }
开发者ID:katerebekah,项目名称:csharplinkedlists,代码行数:24,代码来源:SinglyLinkedList.cs


注:本文中的SinglyLinkedLists.SinglyLinkedList.First方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。