Quick Sort (Sắp xếp nhanh)
Code C/C++
//Thuật toán phân đoạn
int Partition( int array[], int l, int r )
{
int i = l + 1, j = r;
while( i <= j)
{
while( array[i] < array[l] && i <= j ) i++;
while( array[j] > array[l] && i <= j || i == j ) j--;
if( i < j )
swap( array[i++], array[j--]);
}
swap( array[l], array[j] );
return j;
}
//Thuật toán sắp xếp nhanh
void QuickSort(
int array[],
int l,
int r )
{
if( l < r )
{
int j = Partition( array, l, r );
QuickSort(array, l, j-1);
QuickSort(array, j+1, r);
}
}
Nhận xét
Đăng nhận xét