本文整理汇总了C#中LinkedList.Reverse方法的典型用法代码示例。如果您正苦于以下问题:C# LinkedList.Reverse方法的具体用法?C# LinkedList.Reverse怎么用?C# LinkedList.Reverse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LinkedList
的用法示例。
在下文中一共展示了LinkedList.Reverse方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MethodUnderTest_TestedBehavior_ExpectedResult
public void MethodUnderTest_TestedBehavior_ExpectedResult()
{
var nodeList = new LinkedList<object>();
nodeList.Add(new ListNode<object>(1));
nodeList.Add(new ListNode<object>(2));
nodeList.Add(new ListNode<object>(3));
nodeList.Add(new ListNode<object>(4));
nodeList.Add(new ListNode<object>(5));
nodeList.Add(new ListNode<object>(6));
nodeList.Add(new ListNode<object>("d"));
nodeList.Add(new ListNode<object>("g"));
nodeList.AddAfter(3, new ListNode<object>("B"));
nodeList.AddAfter("g", new ListNode<object>("uber"));
Console.WriteLine(nodeList.Tail);
Console.WriteLine("The list has {0} elements!", nodeList.ListSize);
nodeList.Traverse();
nodeList.Reverse();
nodeList.Traverse();
Assert.That(nodeList.ListSize, Is.EqualTo(10));
Assert.That(nodeList.Contains("g"), Is.True);
nodeList.Remove("d");
nodeList.Remove("g");
Assert.That(nodeList.ListSize, Is.EqualTo(8));
Assert.That(nodeList.Contains("g"), Is.False);
nodeList.Reverse();
nodeList.Traverse();
}
示例2: Main
static void Main(string[] args)
{
LinkedList<string> list = new LinkedList<string>();
list.Add("A");
list.Add("B");
list.Add("C");
list.Add("D");
list.Add("C");
list.Add("B");
list.Add("A");
list.ListNodes();
Console.WriteLine();
Console.WriteLine("reversing list");
var reversedList = list.Reverse();
Console.WriteLine();
reversedList.ListNodes();
Console.WriteLine();
Console.WriteLine("get item that is 4 from last");
Console.WriteLine(list.FetchData(4));
Console.WriteLine();
Console.ReadLine();
}
示例3: JustHead
public void JustHead()
{
var list = new LinkedList { Head = new Node() };
list.Reverse();
Assert.IsNotNull(list.Head);
}
示例4: Main
static void Main()
{
LinkedList<int> numbers = new LinkedList<int>();
ListItem<int>[] elements = new ListItem<int>[]
{
new ListItem<int> { Value = 10 },
new ListItem<int> { Value = 54 },
new ListItem<int> { Value = 33 },
new ListItem<int> { Value = 23 },
new ListItem<int> { Value = 11 },
new ListItem<int> { Value = 182 },
new ListItem<int> { Value = 73 }
};
foreach (ListItem<int> item in elements)
numbers.Add(item);
Console.WriteLine(numbers);
numbers.Reverse();
Console.WriteLine(numbers);
}
示例5: NullHeadNoError
public void NullHeadNoError()
{
var list = new LinkedList();
list.Reverse();
}
示例6: ReverseTwoItems
public void ReverseTwoItems()
{
var second = new Node();
var head = new Node { Next = second };
var list = new LinkedList { Head = head };
list.Reverse();
Assert.IsNotNull(list.Head);
Assert.AreSame(second, list.Head);
Assert.AreSame(head, second.Next);
}
示例7: TestReverseLinkedList
public void TestReverseLinkedList()
{
var ll = new LinkedList<int>
(1);
ll.Insert(new Node<int>(2));
ll.Insert(new Node<int>(5));
ll.Insert(new Node<int>(9));
ll.Reverse();
Assert.IsTrue(ll.First.Data == 9 );
Assert.IsTrue(ll.Last.Data == 1);
var ll2 = new LinkedList<int>(1);
ll2.Insert(new Node<int>(2));
ll2.Insert(new Node<int>(3));
ll2.Insert(new Node<int>(4));
var t = ll2.Reverse(ll2.First);
}
示例8: Parents
private static string Parents(LinkedList<string> parents)
{
string r = "";
foreach(string parent in parents.Reverse())
{
r += parent;
r += ".";
}
r = r.TrimEnd(new char[]{'.'});
return r;
}
示例9: AddToChain
/// <summary>
/// Adds the token to the chain.
/// </summary>
public void AddToChain(Token token)
{
try
{
// Check to see if there is only one and it is this
// one. If it is, then reset the chain.
if (chain.Count == 1 && chain.Contains(token))
{
chain.Clear();
token.InChain = false;
return;
}
// Check to see if there is anything in the chain already
if (chain.Count > 0)
{
// Go backwards until we find one that is adjacent to
// the current one
bool addRest = false;
bool containsToken = chain.Contains(token);
ArrayList<Token> revChain = new ArrayList<Token>();
revChain.AddAll(chain);
revChain.Reverse();
LinkedList<Token> newChain = new LinkedList<Token>();
foreach (Token test in revChain)
{
// Check for containing code
if (containsToken && !addRest && test != token)
{
test.InChain = false;
continue;
}
if (containsToken && test == token)
{
// Add the rest, but not this one because we
// append at the end.
addRest = true;
continue;
}
// Check for adjacent
if (!addRest && !test.IsAdjacent(token))
{
// Pop off this one
test.InChain = false;
continue;
}
// Check for adjacent
if (test.IsAdjacent(token))
{
addRest = true;
}
// Add the chain
test.InChain = true;
newChain.Add(test);
}
// Reverse it again
newChain.Reverse();
chain = newChain;
}
// At this point, we can append the token to the chain
chain.Add(token);
token.InChain = true;
}
finally
{
// Fire a change
OnChainChanged();
}
}
示例10: ReverseWithManyItemsTest
public void ReverseWithManyItemsTest()
{
int size = 10;
LinkedList<string> list = new LinkedList<string>();
Assert.IsTrue(list != null);
Populate(list, size);
int i = 1;
foreach (var item in list)
{
Assert.AreEqual(i.ToString(), item);
++i;
}
list.Reverse();
i = size;
foreach (var item in list)
{
Assert.AreEqual(i.ToString(), item);
--i;
}
}
示例11: ReverseWithZeroItemsTest
public void ReverseWithZeroItemsTest()
{
LinkedList<string> list = new LinkedList<string>();
Assert.IsTrue(list != null);
list.Reverse();
}