Question

Write a program that can sort numbers through Hoare and Lomuto quick sort, do it in...

Write a program that can sort numbers through Hoare and Lomuto quick sort, do it in any language but the algorithm should show each iteration, keyword each different iteration

0 0
Add a comment Improve this question Transcribed image text
Answer #1

CODE

/* C++ implementation QuickSort using Lomuto's partition

Scheme.*/

#include<bits/stdc++.h>

using namespace std;

/* Function to print an array */

void printArray(int arr[], int size)

{

  int i;

  for (i=0; i < size; i++)

    printf("%d ", arr[i]);

  printf("\n");

}

/* This function takes last element as pivot, places

the pivot element at its correct position in sorted

  array, and places all smaller (smaller than pivot)

to left of pivot and all greater elements to right

of pivot */

int partition(int arr[], int low, int high)

{

  int pivot = arr[high]; // pivot

  int i = (low - 1); // Index of smaller element

  for (int j = low; j <= high- 1; j++)

  {

    // If current element is smaller than or

    // equal to pivot

    if (arr[j] <= pivot)

    {

      i++; // increment index of smaller element

      swap(arr[i], arr[j]);

    }

  }

  swap(arr[i + 1], arr[high]);

  return (i + 1);

}

/* The main function that implements QuickSort

arr[] --> Array to be sorted,

low --> Starting index,

high --> Ending index */

void quickSort(int arr[], int low, int high)

{

  if (low < high)

  {

    /* pi is partitioning index, arr[p] is now

    at right place */

    int pi = partition(arr, low, high);

    // Separately sort elements before

    // partition and after partition

printArray(arr, high+1);

    quickSort(arr, low, pi - 1);

    quickSort(arr, pi + 1, high);

  }

}

// Driver program to test above functions

int main()

{

  int arr[] = {10, 7, 8, 9, 1, 5};

  int n = sizeof(arr)/sizeof(arr[0]);

  quickSort(arr, 0, n-1);

  printf("Sorted array: \n");

  printArray(arr, n);

  return 0;

}

Add a comment
Know the answer?
Add Answer to:
Write a program that can sort numbers through Hoare and Lomuto quick sort, do it in...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT