3/13/2016

Write A C++ program For Radix Sort Using Dynamic Array

#include <iostream>
#include <cstdlib>
using namespace std;
int getMax(int arr[], int n)
{
    int max = arr[0];
    for (int i = 1; i &lt; n; i++)
        if (arr[i] &gt; max)
            max = arr[i];
    return max;
}

void countSort(int arr[], int n, int exp)
{
    int output[n];
    int i, count[10] = {0};
    for (i = 0; i &lt; n; i++)
        count[(arr[i] / exp) % 10]++;
    for (i = 1; i &lt; 10; i++)
        count[i] += count[i - 1];
    for (i = n - 1; i &gt;= 0; i--)
    {
        output[count[(arr[i] / exp) % 10] - 1] = arr[i];
        count[(arr[i] / exp) % 10]--;
    }
    for (i = 0; i &lt; n; i++)
        arr[i] = output[i];
}

void radixsort(int arr[], int n)
{
    int m = getMax(arr, n);
    for (int exp = 1; m / exp &gt; 0; exp *= 10)
        countSort(arr, n, exp);
}


int main()
{
    int arr[100],n,i;
    cout&lt;&lt;"\n------------ RADIX SORT ------------ \n\n";

     cout&lt;&lt;"Enter No. of Elements : ";
     cin&gt;&gt;n;

     cout&lt;&lt;"\nEnter Elements : \n";
     for(i=0;i    {
      cin&gt;&gt;arr[i];
    }
    radixsort(arr, n);
    cout&lt;&lt;"\nsorted Elements : \n";
    for (int i = 0; i &lt; n; i++)
        cout &lt;&lt; arr[i] &lt;    return 0;
}

output:-



Ghanendra Yadav

Ghanendra Yadav

Hello, I Am Ghanendra Yadav Owner of This Blog, I am professional Blogger and Programmer. I Love Programming, Logo Making, And Banner Designing. My Highest Qualification is MCA From NIT Warangal. You Can Find Me On Social Media Through Below Link And If You Have Any Query Related To Programming And Other Subject Comment Below or You Can Mail Me I Will Try To Answer Within 24 Hours Email:- yghanendra@student.nitw.ac.in

Find me on Social Media

Facebook | Twitter | Google+ | RSS Feed

1 comment:

  1. sir this program is not complete. last loop is missing

    ReplyDelete