#include #include using namespace std ; int partition(string A[], int low, int high) { string x, temp ; int i, j ; i = low - 1; j = high + 1; x = A[low] ; while (true) { do { j = j - 1; } while (A[j] > x) ; do { i = i + 1; } while (A[i] < x); if (i < j) { temp = A[j] ; A[j] = A[i] ; A[i] = temp ; } else { return j; } } } void RecQuickSort(string A[], int low, int high) { int q ; if (low >= high) return ; q = partition(A, low, high) ; RecQuickSort(A, low, q) ; RecQuickSort(A, q + 1, high) ; } void QuickSort(string A[], int n) { RecQuickSort(A, 0, n-1) ; } int main() { string C[5] ; C[0] = "abc" ; C[1] = "jkl" ; C[2] = "ghi" ; C[3] = "def" ; C[4] = "mno" ; cout << "Before: \n" ; cout << C[0] << "\n" << C[1] << "\n" << C[2] << "\n" << C[3] << "\n" << C[4] << "\n" ; QuickSort(C, 5) ; cout << "After: \n" ; cout << C[0] << "\n" << C[1] << "\n" << C[2] << "\n" << C[3] << "\n" << C[4] << "\n" ; }