这是一些平时遇到觉得不错的代码片段

或者说是从别人那里抄来的

  • 首先是从大佬那里学来的宏函数技巧
#define SDB( i, start, end ) for ( i = start; i < end; i++ )
  • 然后是程序员必备快速排序的代码

    我没背下来。。。


void Swap( int arr[], int low, int high )
{
    int temp;
    temp        = arr[ low ];
    arr[ low ]  = arr[ high ];
    arr[ high ] = temp;
}

int Partition( int arr[], int low, int high )
{
    int base = arr[ low ];
    while ( low < high )
    {
        while ( low < high && arr[ high ] >= base )
        {
            high--;
        }
        Swap( arr, low, high );
        while ( low < high && arr[ low ] <= base )
        {
            low++;
        }
        Swap( arr, low, high );
    }
    return low;
}

void QuickSort( int arr[], int low, int high )
{
    if ( low < high )
    {
        int base = Partition( arr, low, high );
        QuickSort( arr, low, base - 1 );
        QuickSort( arr, base + 1, high );
    }
}
  • 其他的以后再补充
文章目录