Click here to Skip to main content
15,891,375 members
Articles / Programming Languages / C# 4.0
Alternative
Tip/Trick

Reverse of a string without using the Reverse function in C# and VB

Rate me:
Please Sign up or sign in to vote.
4.00/5 (1 vote)
25 Jul 2011CPOL 7.6K  
/// /// Reverses an array (Change the type or use SetItem)/// /// The bytes/// The index in the bytes/// The length of bytes to reverseinternal static void Reverse(char[] array, int...
C#
/// <summary>
/// Reverses an array (Change the type or use SetItem)
/// </summary>
/// <param name="array">The bytes</param>
/// <param name="index">The index in the bytes</param>
/// <param name="len">The length of bytes to reverse</param>
internal static void Reverse(char[] array, int index, int len)
{
    char temp;//Comment out when using XOR Swap
    //O(n/2+1)
    //Length = 5 => {0,4}, {1,3}, ? {2,2} never hit because !(near < far)
    for (int near = index, far = len - 1; near < far; ++near, --far)
    {
        temp = array[near]; //          array[near] ^= array[far];
        array[near] = array[far];//          array[far] ^= array[near];
        array[far] = temp;//          array[near] ^= array[far];
    }
}
internal static void Reverse(char[] array)
{
   Reverse(array, 0, array.Length);
}
internal static String Reverse(String theString)
{
   char[] array = theString.ToCharArray();
   Reverse(array, 0, array.Length);
   return new String(array);
}

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
United States United States
Livin in a lonely world, caught the midnight train going anywhere... Only thing is it was a runaway train... and it ain't ever goin back...
мала ка на хари, Trahentes ex exsilium

Comments and Discussions

 
-- There are no messages in this forum --