Minor grammatical corrections. (#31228)

This commit is contained in:
Himanshu Patel
2019-05-11 21:44:41 +05:30
committed by The Coding Aviator
parent e345970e51
commit 2ed6bc9831

View File

@ -20,7 +20,7 @@ We used count sort because it is a stable sort.
Example: Assume the input array is: Example: Assume the input array is:
10,21,17,34,44,11,654,123 10, 21, 17, 34, 44, 11, 654, 123
Based on the algorithm, we will sort the input array according to the one's digit (least significant digit). Based on the algorithm, we will sort the input array according to the one's digit (least significant digit).
@ -35,7 +35,7 @@ Based on the algorithm, we will sort the input array according to the one's digi
8:</br> 8:</br>
9:</br> 9:</br>
So, the array becomes 10,21,11,123,24,44,654,17 So, the array becomes 10, 21, 11, 123, 24, 44, 654, 17
Now, we'll sort according to the ten's digit: Now, we'll sort according to the ten's digit:
0:</br> 0:</br>
@ -49,7 +49,7 @@ Now, we'll sort according to the ten's digit:
8:</br> 8:</br>
9: 9:
Now, the array becomes : 10,11,17,21,123,34,44,654 Now, the array becomes : 10, 11, 17, 21, 123, 34, 44, 654
Finally , we sort according to the hundred's digit (most significant digit): Finally , we sort according to the hundred's digit (most significant digit):
0: 010 011 017 021 034 044</br> 0: 010 011 017 021 034 044</br>
@ -63,52 +63,38 @@ Finally , we sort according to the hundred's digit (most significant digit):
8:</br> 8:</br>
9: 9:
The array becomes : 10,11,17,21,34,44,123,654 which is sorted. This is how our algorithm works. The array becomes : 10, 11, 17, 21, 34, 44, 123, 654 which is sorted. This is how our algorithm works.
An implementation in C: An implementation in C:
``` ```
void countsort(int arr[],int n,int place){ void countsort(int arr[],int n,int place){
int i,freq[range]={0}; //range for integers is 10 as digits range from 0-9 int i,freq[range]={0}; //range for integers is 10 as digits range from 0-9
int output[n]; int output[n];
for(i=0;i<n;i++) for(i=0;i<n;i++)
freq[(arr[i]/place)%range]++; freq[(arr[i]/place)%range]++;
for(i=1;i<range;i++) for(i=1;i<range;i++)
freq[i]+=freq[i-1]; freq[i]+=freq[i-1];
for(i=n-1;i>=0;i--){ for(i=n-1;i>=0;i--){
output[freq[(arr[i]/place)%range]-1]=arr[i]; output[freq[(arr[i]/place)%range]-1]=arr[i];
freq[(arr[i]/place)%range]--; freq[(arr[i]/place)%range]--;
} }
for(i=0;i<n;i++) for(i=0;i<n;i++)
arr[i]=output[i]; arr[i]=output[i];
} }
void radixsort(ll arr[],int n,int maxx){ //maxx is the maximum element in the array void radixsort(ll arr[],int n,int maxx){ //maxx is the maximum element in the array
int mul=1; int mul=1;
while(maxx){ while(maxx){
countsort(arr,n,mul); countsort(arr,n,mul);
mul*=10; mul*=10;
maxx/=10; maxx/=10;
} }
} }
``` ```