From afeea0c96731cca1a725c0cfa2af4049e8593e19 Mon Sep 17 00:00:00 2001 From: NITIN AGGARWAL <45655770+nitin-1906@users.noreply.github.com> Date: Tue, 1 Oct 2019 21:47:04 +0530 Subject: [PATCH 1/2] Added subset_sum.cpp --- Algorithms/Dynamic Programming/subset_sum.cpp | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 Algorithms/Dynamic Programming/subset_sum.cpp diff --git a/Algorithms/Dynamic Programming/subset_sum.cpp b/Algorithms/Dynamic Programming/subset_sum.cpp new file mode 100644 index 0000000..edb2f35 --- /dev/null +++ b/Algorithms/Dynamic Programming/subset_sum.cpp @@ -0,0 +1,37 @@ +#include + +bool isSubsetSum(int set[], int n, int sum) +{ + bool subset[n+1][sum+1]; + + for (int i = 0; i <= n; i++) + subset[i][0] = true; + + for (int i = 1; i <= sum; i++) + subset[0][i] = false; + + for (int i = 1; i <= n; i++) + { + for (int j = 1; j <= sum; j++) + { + if(j= set[i-1]) + subset[i][j] = subset[i-1][j] || + subset[i - 1][j-set[i-1]]; + } + } + return subset[n][sum]; +} + +int main() +{ + int set[] = {13, 34, 44, 18, 9, 23}; + int sum = 56; + int n = sizeof(set)/sizeof(set[0]); + if (isSubsetSum(set, n, sum) == true) + cout<<"Found a subset with given sum"< Date: Tue, 8 Oct 2019 22:50:55 +0530 Subject: [PATCH 2/2] Created Selection_sort.cpp --- Algorithms/sorting/Selection_sort.cpp | 42 +++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Algorithms/sorting/Selection_sort.cpp diff --git a/Algorithms/sorting/Selection_sort.cpp b/Algorithms/sorting/Selection_sort.cpp new file mode 100644 index 0000000..d47b922 --- /dev/null +++ b/Algorithms/sorting/Selection_sort.cpp @@ -0,0 +1,42 @@ +#include +using namespace std; + +void swap(int *xp, int *yp) +{ + int temp = *xp; + *xp = *yp; + *yp = temp; +} + +void selectionSort(int arr[], int n) +{ + int i, j, min_idx; + + for (i = 0; i < n-1; i++) + { + min_idx = i; + for (j = i+1; j < n; j++) + if (arr[j] < arr[min_idx]) + min_idx = j; + + swap(&arr[min_idx], &arr[i]); + } +} + +void printArray(int arr[], int size) +{ + int i; + for (i=0; i < size; i++) + cout << arr[i] << " "; + cout << endl; +} + +int main() +{ + int arr[] = {66, 13, 17, 235, 98}; + int n = sizeof(arr)/sizeof(arr[0]); + selectionSort(arr, n); + cout << "Sorted array: \n"; + printArray(arr, n); + return 0; +}