本文整理汇总了C#中SinglyLinkedLists.SinglyLinkedList.AddLast方法的典型用法代码示例。如果您正苦于以下问题:C# SinglyLinkedList.AddLast方法的具体用法?C# SinglyLinkedList.AddLast怎么用?C# SinglyLinkedList.AddLast使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SinglyLinkedLists.SinglyLinkedList
的用法示例。
在下文中一共展示了SinglyLinkedList.AddLast方法的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));
}
}
}
示例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));
}
}
}
示例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));
}
}
}
示例4: 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));
}
}
}
示例5: AddAfterItemThatDoesntExist
public void AddAfterItemThatDoesntExist()
{
SinglyLinkedList list = new SinglyLinkedList();
list.AddLast("foo");
list.AddLast("bar");
list.AddAfter("cat", "grille");
}
示例6: 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));
}
}
}
示例7: AddFirstOnLongerList
public void AddFirstOnLongerList()
{
SinglyLinkedList list = new SinglyLinkedList();
list.AddLast("foo");
list.AddLast("bar");
list.AddFirst("grille");
var expected = new string[] { "grille", "foo", "bar" };
CollectionAssert.AreEqual(expected, list.ToArray());
}
示例8: AddAfterLastItem
public void AddAfterLastItem()
{
SinglyLinkedList list = new SinglyLinkedList();
list.AddLast("foo");
list.AddLast("bar");
list.AddAfter("bar", "grille");
var expected = new string[] { "foo", "bar", "grille" };
CollectionAssert.AreEqual(expected, list.ToArray());
}
示例9: CaitlinsArrayCount
public void CaitlinsArrayCount()
{
SinglyLinkedList list = new SinglyLinkedList();
list.AddLast("foo");
list.AddLast("bar");
list.AddLast("grille");
string[] lexpected = new string[] { "foo", "bar", "grille" };
int expected = lexpected.Length;
string[] lactual = list.ToArray();
int actual = lactual.Length;
Assert.AreEqual(expected, actual);
}
示例10: AddAfter
public void AddAfter()
{
SinglyLinkedList list = new SinglyLinkedList();
list.AddLast("foo");
list.AddLast("grille");
// NOTE: This assert isn't necessary. It is merely here to remind you of / verify the state of the list prior to inserting the new node.
var expected = new string[] { "foo", "grille" };
CollectionAssert.AreEqual(expected, list.ToArray());
list.AddAfter("foo", "bar");
expected = new string[] { "foo", "bar", "grille" };
CollectionAssert.AreEqual(expected, list.ToArray());
}
示例11: 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
}
}
示例12: 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
}
}
}
示例13: CountOneItemList
public void CountOneItemList()
{
SinglyLinkedList list = new SinglyLinkedList();
list.AddLast("foo");
Assert.AreEqual(1, list.Count());
}
示例14: LastOnShortList
public void LastOnShortList()
{
SinglyLinkedList list = new SinglyLinkedList();
list.AddLast("foo");
Assert.AreEqual("foo", list.Last());
}
示例15: LastOnLongerList
public void LastOnLongerList()
{
SinglyLinkedList list = new SinglyLinkedList();
list.AddLast("foo");
list.AddLast("bar");
list.AddLast("grille");
Assert.AreEqual("grille", list.Last());
}