diff --git a/Bubble Sort.c b/Bubble Sort.c new file mode 100644 index 0000000..01dd394 --- /dev/null +++ b/Bubble Sort.c @@ -0,0 +1,42 @@ +// C program for implementation of Bubble sort +#include + +void swap(int *xp, int *yp) +{ + int temp = *xp; + *xp = *yp; + *yp = temp; +} + +// A function to implement bubble sort +void bubbleSort(int arr[], int n) +{ +int i, j; +for (i = 0; i < n-1; i++) + + // Last i elements are already in place + for (j = 0; j < n-i-1; j++) + if (arr[j] > arr[j+1]) + swap(&arr[j], &arr[j+1]); +} + +/* Function to print an array */ +void printArray(int arr[], int size) +{ + int i; + for (i=0; i < size; i++) + printf("%d ", arr[i]); + printf("\n"); +} + +// Driver program to test above functions +int main() +{ + int arr[] = {12, 45, 22, 11, 32, 74, 93}; + int n = sizeof(arr)/sizeof(arr[0]); + bubbleSort(arr, n); + printf("Array after sorting : \n"); + printArray(arr, n); + return 0; +} + diff --git a/README.md b/README.md new file mode 100644 index 0000000..61383a5 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# Simple-Algorithm-Implementations +This repository contains implementation of some basic algorithms in C programming language. diff --git a/Radix Sort.c b/Radix Sort.c new file mode 100644 index 0000000..f1a5ba4 --- /dev/null +++ b/Radix Sort.c @@ -0,0 +1,45 @@ +#include +int get_max (int a[], int n){ + int max = a[0] , i; + for (i = 1; i < n; i++) + if (a[i] > max) + max = a[i]; + return max; +} +void radix_sort (int a[], int n){ + int bucket[10][10], bucket_cnt[10]; + int i, j, k, r, NOP = 0, divisor = 1, lar, pass; + lar = get_max (a, n); + while (lar > 0){ + NOP++; + lar /= 10; + } + for (pass = 0; pass < NOP; pass++){ + for (i = 0; i < 10; i++){ + bucket_cnt[i] = 0; + } + for (i = 0; i < n; i++){ + r = (a[i] / divisor) % 10; + bucket[r][bucket_cnt[r]] = a[i]; + bucket_cnt[r] += 1; + } + i = 0; + for (k = 0; k < 10; k++){ + for (j = 0; j < bucket_cnt[k]; j++){ + a[i] = bucket[k][j]; + i++; + } + } + divisor *= 10; + } +} +int main (){ + int i; + int a[7]={2,34,56,87,13,15,45}; + radix_sort (a, 7); + printf ("Sorted Array : "); + for (i = 0; i < 7; i++) + printf ("%d ", a[i]); + printf ("\n"); + return 0; +}