From ee1b899728c1aaceee4e77cedfba4ec46d09140b Mon Sep 17 00:00:00 2001 From: Monalika Date: Wed, 26 May 2021 03:25:28 +0530 Subject: [PATCH] Create Code to Segregate 0s and 1s in an array.cpp --- Code to Segregate 0s and 1s in an array.cpp | 43 +++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 Code to Segregate 0s and 1s in an array.cpp diff --git a/Code to Segregate 0s and 1s in an array.cpp b/Code to Segregate 0s and 1s in an array.cpp new file mode 100644 index 0000000..6fcc48f --- /dev/null +++ b/Code to Segregate 0s and 1s in an array.cpp @@ -0,0 +1,43 @@ +// C++ code to Segregate 0s and 1s in an array +#include +using namespace std; + +// Function to segregate 0s and 1s +void segregate0and1(int arr[], int n) +{ + int count = 0; // Counts the no of zeros in arr + + for (int i = 0; i < n; i++) { + if (arr[i] == 0) + count++; + } + + // Loop fills the arr with 0 until count + for (int i = 0; i < count; i++) + arr[i] = 0; + + // Loop fills remaining arr space with 1 + for (int i = count; i < n; i++) + arr[i] = 1; +} + +// Function to print segregated array +void print(int arr[], int n) +{ + cout << "Array after segregation is "; + + for (int i = 0; i < n; i++) + cout << arr[i] << " "; +} + +// Driver function +int main() +{ + int arr[] = { 0, 1, 0, 1, 1, 1 }; + int n = sizeof(arr) / sizeof(arr[0]); + + segregate0and1(arr, n); + print(arr, n); + + return 0; +}