Question
PLEASE SHOW WHERE TO IMPLEMENT COUNTING MOVEMENTS IN THIS RADIX SORT ALGORITHM GIVEN. Please show output of the number of movements for an in order,
PLEASE SHOW WHERE TO IMPLEMENT COUNTING MOVEMENTS IN THIS RADIX SORT ALGORITHM GIVEN.
Please show output of the number of movements 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); } } i will upvote if complete
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