From 86350f86c7c1aa387d8ab9fd47cc11998c1115f7 Mon Sep 17 00:00:00 2001 From: Kunal Khairnar <95234444+Kunal-Khairnar-05@users.noreply.github.com> Date: Sat, 8 Oct 2022 00:08:15 +0530 Subject: [PATCH] Add : Radix Sort --- Radix_sort.cpp | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 Radix_sort.cpp diff --git a/Radix_sort.cpp b/Radix_sort.cpp new file mode 100644 index 0000000..a5b489b --- /dev/null +++ b/Radix_sort.cpp @@ -0,0 +1,77 @@ +` + // Radix Sort + #include +using namespace std; + +int Getmax(int arr[],int size){ + int max=arr[0]; + for (int i = 1; i < size; i++) + { + if (arr[i]>max) + { + max=arr[i]; + } + + } + return max; +} + +void CountingSort(int arr[],int size,int div){ + int output[size]; + int count[10]={0}; + + for (int i = 0; i < size; i++) + { + count[(arr[i]/div)%10]++; + } + for (int i = 1; i < 10; i++) + { + count[i]+=count[i-1]; + } + for (int i = size-1; i >= 0; i--) + { + output[count[(arr[i]/div)%10 ]-1]=arr[i]; + count[(arr[i]/div)%10]--; + } + for (int i = 0; i < size; i++) + { + arr[i]=output[i]; + } + +} + +void radixSort(int arr[],int size){ + int m = Getmax(arr,size); + + for (int div= 1; m/div >0; div*=10) + { + CountingSort(arr,size,div); + } + +} + +int main(){ + int size; + cout<<"Enter size of array: "; + cin>>size; + + int arr[size]; + cout<<"Enter "<> arr[i]; + } + + for(int i=0;i