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ập mảng số nguyên (các phần tử của mảng ngăn cách nhau bằng dấu cách, nhấn enter để chạy) :
x

Nhận xét

Bài đăng phổ biến từ blog này

Bài toán n quân hậu (n Queens)

Bài toán Sudoku