Question
Can anybody tell me how to do count number of inversions with quick sort? import java.util.ArrayList; import java.util.Collections; public class Quicksort { int inversioncount =
Can anybody tell me how to do count number of inversions with quick sort?
import java.util.ArrayList;
import java.util.Collections;
public class Quicksort {
int inversioncount = 0;
public int partition(ArrayList
{
int pivot = arr.get(high);
int i = (low-1); // index of smaller element
for (int j=low; j { // If current element is smaller than or // equal to pivot if (arr.get(j) <= pivot) { i++; //swap elements Collections.swap(arr, i, j); } } //swap elements Collections.swap(arr, i+1, high); return i+1; } //ArrayList //low --> Starting index, //high --> Ending index public int sort(ArrayList { if (low < high) { /* pi is partitioning index, arr[pi] is now at right place */ int pi = partition(arr, low, high); // Recursively sort elements before // partition and after partition sort(arr, low, pi-1); sort(arr, pi+1, high); } return inversioncount; } }
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started