diff --git a/Sorting/CountingSortString.cpp b/Sorting/CountingSortString.cpp new file mode 100644 index 000000000..3ebe36dcf --- /dev/null +++ b/Sorting/CountingSortString.cpp @@ -0,0 +1,44 @@ +// C++ Program for counting sort +#include + +using namespace std; + +void countSort(string arr) +{ + + string output; + + int count[256], i; + for(int i=0;i<256;i++) + count[i]=0; + + + for(i = 0; arr[i]; ++i) + ++count[arr[i]]; + + + for (i = 1; i <= 256; ++i) + count[i] += count[i-1]; + + for (i = 0; arr[i]; ++i) + { + output[count[arr[i]]-1] = arr[i]; + --count[arr[i]]; + } + + for (i = 0; arr[i]; ++i) + arr[i] = output[i]; + + cout<<"Sorted character array is "<>arr; + + countSort(arr); + + return 0; +}