Start New Discussion within our Software Development Community

Although there is little need for any sort algorithm in C#. Every collection class has a sort method, so why would you wanna write one for yourself? My guess to learn and see how it is done. Well her are implementations of two popular sorts. The arrays are integer but you can change the type if you want.

//sort the items of an array using straight insertion sort        
//        
static void StraightInsertionSort(int[] listtosort)        
{            
    int element;            
    int ic;     
    //index of element to be compared, index starts at 0             
    for (int loopvar = 1; loopvar < listtosort.Length; loopvar++)  //loop trough each element in turn            
    {                
        element = listtosort[loopvar];                
        ic = loopvar-1;                
        while (ic >= 0 && listtosort[ic] > element )                 
        {                    
            listtosort[ic + 1] = listtosort[ic];    //move all elements                    
            ic--;                
        }                
        listtosort[ic + 1] = element;    //Insert element            
    }                   
}          

// sort the items of an array using bubble sort         
//        
public static void BubbleSort( int[] ar )              
{                     
    for ( int pass = 1; pass < ar.Length; pass++ )                            
        for ( int i = 0; i < ar.Length - 1; i++ )                                   
            if ( ar[ i ] > ar[ i + 1 ] )                                         
                Swap( ar, i );              
}                

// swap two items of an array        
//        
public static void Swap( int[] ar, int first )              
{                     
    int hold;                      
    hold = ar[ first ];                     
    ar[ first ] = ar[ first + 1 ];                     
    ar[ first + 1 ] = hold;              
}
The article starter has earned a lot of community kudos, and such articles offer a bounty for quality replies.