From 354b3fad4ed097697310a4321d37d3bec2e2fe9c Mon Sep 17 00:00:00 2001 From: Kuljeet-123 Date: Fri, 24 Jul 2020 21:41:51 +0530 Subject: [PATCH] Counting Sort --- .../Counting Sort/SolutionByKuljeet.cpp | 44 +++++++++++++++++++ .../Array Or Vector/Counting Sort/readMe.md | 19 ++++++++ 2 files changed, 63 insertions(+) create mode 100644 Data Structure/Array Or Vector/Counting Sort/SolutionByKuljeet.cpp create mode 100644 Data Structure/Array Or Vector/Counting Sort/readMe.md diff --git a/Data Structure/Array Or Vector/Counting Sort/SolutionByKuljeet.cpp b/Data Structure/Array Or Vector/Counting Sort/SolutionByKuljeet.cpp new file mode 100644 index 000000000..a79316ef5 --- /dev/null +++ b/Data Structure/Array Or Vector/Counting Sort/SolutionByKuljeet.cpp @@ -0,0 +1,44 @@ +#include +#include +using namespace std; + +void countSort(int arr[], int n, int k) +{ + int count[n]; + for(int i = 0;i < k;i++) + count[i] = 0; + + for(int i = 0;i < n;i++) + count[arr[i]]++; + + for(int i = 1;i < k;i++) + count[i] = count[i-1] + count[i]; + + int output[n]; + for(int i = n-1;i >= 0;i--) + { + output[count[arr[i]]-1] = arr[i]; + count[arr[i]]--; + } + + for(int i = 0;i < n;i++) + arr[i] = output[i]; + + for(int i = 0;i < n;i++) + cout << arr[i] << " "; + +} + +int main() +{ + int n; + cin >> n; + int arr[n]; + for(int i = 0;i < n;i++) + cin >> arr[i]; + + int k; + cin >> k; + countSort(arr,n,k); + return 0; +} \ No newline at end of file diff --git a/Data Structure/Array Or Vector/Counting Sort/readMe.md b/Data Structure/Array Or Vector/Counting Sort/readMe.md new file mode 100644 index 000000000..9b8a3bc4a --- /dev/null +++ b/Data Structure/Array Or Vector/Counting Sort/readMe.md @@ -0,0 +1,19 @@ +# An unsorted array is given sort the array using counting sort. + +# Constraints +- 1 < size Of Array <= 10^6 +- 0 < Array Elements <= 10^9 + +# Input +- Array +- Its Size + +# Output +- Print the sorted array. + +``` +Input : {12, 11, 13, 5, 6, 7} +Output : { 5, 6, 7, 11, 12, 13, } + +``` +