Question: CAN YOU PLEASE SHOW WHERE TO IMPLEMENT COUNTING COMPARISONS AND MOVEMENTS IN THIS RADIX SORT ALGORITHM GIVEN. Please show output for an in order, reverse

CAN YOU PLEASE SHOW WHERE TO IMPLEMENT COUNTING COMPARISONS AND MOVEMENTS IN THIS RADIX SORT ALGORITHM GIVEN.

Please show output for an in order, reverse order, and random order input arrays.

JAVA

/************ RADIX SORT **************************/

import java.io.*;

import java.util.*;

class Radix {

static int getMax(int arr[], int n){

int mx = arr[0];

for (int i = 1; i < n; i++)

if (arr[i] > mx)

mx = arr[i];

return mx;

}

static void countSort(int arr[], int n, int exp) {

int output[] = new int[n];

int i;

int count[] = new int[10];

Arrays.fill(count,0);

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

count[ (arr[i]/exp)%10 ]++;

// Change count[i] so that it contains actual position of this digit in output[]

for (i = 1; i < 10; i++)

count[i] += count[i - 1]; // Build the output array

for (i = n - 1; i >= 0; i--){

output[count[ (arr[i]/exp)%10 ] - 1] = arr[i];

count[ (arr[i]/exp)%10 ]--;

}

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

arr[i] = output[i];

}

static void radixsort(int arr[], int n)

{ // Find the maximum number to know number of digits

int m = getMax(arr, n);

for (int exp = 1; m/exp > 0; exp *= 10)

countSort(arr, n, exp);

}

static void print(int arr[], int n) {

for (int i=0; i

System.out.print(arr[i]+" ");

}

public static void main (String[] args) {

int arr[] = {170, 45, 75, 90, 802, 24, 2, 66};

int n = arr.length;

radixsort(arr, n);

print(arr, n);

}

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!