Shtin
BAN USERvar list = new LinkedList<char>();
list.Add('1');
list.Add('2');
list.Add('3');
list.Add('4');
list.Add('a');
list.Add('b');
list.Add('c');
list.Add('d');
list.Add('5');
list.Add('6');
list.Add('e');
list.Add('f');
list.Print();
var listPointer = list.Root;
var numberPointer = list.Root;
var letterPointer = list.Root;
var lookingForNumber = true;
while (listPointer != null)
{
var temp = listPointer.Value;
if (lookingForNumber)
{
while (numberPointer != null && !char.IsDigit(numberPointer.Value))
{
numberPointer = numberPointer.Next;
}
if (numberPointer == null)
{
break;
}
listPointer.Value = numberPointer.Value;
numberPointer.Value = temp;
numberPointer = numberPointer.Next;
}
else
{
while (letterPointer != null && char.IsDigit(letterPointer.Value))
{
letterPointer = letterPointer.Next;
}
if (letterPointer == null)
{
break;
}
listPointer.Value = letterPointer.Value;
letterPointer.Value = temp;
letterPointer = letterPointer.Next;
}
listPointer = listPointer.Next;
lookingForNumber = !lookingForNumber;
}
list.Print();
- Shtin July 27, 2012