diff --git a/Sorting_Algorithms/24sept quick.cpp b/Sorting_Algorithms/24sept quick.cpp new file mode 100644 index 0000000..c08ee10 --- /dev/null +++ b/Sorting_Algorithms/24sept quick.cpp @@ -0,0 +1,46 @@ +#include +#include +using namespace std; +void swap(int* a, int* b) +{ + int t = *a; + *a = *b; + *b = t; +} +int partition (int arr[], int low, int high) +{ + int pivot = arr[high]; + int i = (low - 1); + + for (int j = low; j <= high- 1; j++) + { + if (arr[j] <= pivot) + { + i++; + swap(&arr[i], &arr[j]); + } + } + swap(&arr[i + 1], &arr[high]); + return (i + 1); +} +void quickSort(int arr[], int low, int high) +{ + if (low < high) + { + int pi = partition(arr, low, high); + quickSort(arr, low, pi - 1); + quickSort(arr, pi + 1, high); + } +} + int main() +{ + int a[100],i,j,m,s; + cin>>s; + for(i=0;i>a[i]; + } + quickSort(a,0,s-1); + for(i=0;i +using namespace std; +int getMax(int arr[], int n) +{ + int mx = arr[0]; + for (int i = 1; i < n; i++) + if (arr[i] > mx) + mx = arr[i]; + return mx; +} + +void countSort(int arr[], int n, int exp) +{ + int output[n]; + int i, count[10] = {0}; + for (i = 0; i < n; i++) + count[ (arr[i]/exp)%10 ]++; + for (i = 1; i < 10; i++) + count[i]=count[i] +count[i - 1]; + for (i = n - 1; i >= 0; i--) + { + output[count[ (arr[i]/exp)%10 ] - 1] = arr[i]; + count[ (arr[i]/exp)%10 ]--; + } + for(i=0;i 0; exp=exp* 10) + countSort(arr, n, exp); +} +int main() +{ + int arr[30]; + int n ; + cin>>n; + for(int i=0;i>arr[i]; + radixsort(arr, n); + for (int i = 0; i < n; i++) + cout << arr[i] <