class UnsafeExample{

    public static unsafe void Swap(int* a, int*b)
    {
        int temp = *a; 
        *a = *b; 
        *b = temp; 
    }

    public static unsafe void Sort(int* array, int size)
    {

        for(int i = 1; i < size; i++)
        {
            for(int j = i - 1; j >=0 && array[j] > array[j+1]; j--)
            {
               Swap(&array[j], &array[j+1]); 
            }
        }
    }

    public static unsafe void Main(string[] args){

        int[] array =  new int[10];
        for (int i = 0; i < 10; i++)
        {
            array[i] = 10 - i;
        }
    
        fixed( int* cArray = array )
        {  
            Sort(cArray, 10);
        
        } 
    }
}