本文整理汇总了C#中SinglyLinkedLists.SinglyLinkedList类的典型用法代码示例。如果您正苦于以下问题:C# SinglyLinkedList类的具体用法?C# SinglyLinkedList怎么用?C# SinglyLinkedList使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SinglyLinkedList类属于SinglyLinkedLists命名空间,在下文中一共展示了SinglyLinkedList类的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: 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));
}
}
示例3: AddAfterItemThatDoesntExist
public void AddAfterItemThatDoesntExist()
{
SinglyLinkedList list = new SinglyLinkedList();
list.AddLast("foo");
list.AddLast("bar");
list.AddAfter("cat", "grille");
}
示例4: AddFirstOnEmptyList
public void AddFirstOnEmptyList()
{
SinglyLinkedList list = new SinglyLinkedList();
list.AddFirst("foo");
string[] expected = new string[] { "foo" };
CollectionAssert.AreEqual(expected, list.ToArray());
}
示例5: 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));
}
}
}
示例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: ConstructorWithOneArgument
public void ConstructorWithOneArgument()
{
SinglyLinkedList list = new SinglyLinkedList("foo");
var expected = new string[] { "foo" };
//throw new ArgumentException(list.ToArray().ToString());
CollectionAssert.AreEqual(expected, list.ToArray());
}
示例8: SortingWithInt
public void SortingWithInt()
{
SinglyLinkedList<int> list = new SinglyLinkedList<int>(new int[] { 4, 1, 3, 2 });
list.Sort();
int[] expected = { 1, 2, 3, 4 };
CollectionAssert.AreEqual(expected, list.ToArray());
}
示例9: 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));
}
}
}
示例10: 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));
}
}
}
示例11: BuildSort
public void BuildSort()
{
if (!IsSorted())
{
SinglyLinkedList sortedList = new SinglyLinkedList(firstNode.Value);
}
}
示例12: 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());
}
示例13: 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());
}
示例14: 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);
}
示例15: 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());
}