/C-Plus-Plus-Projects

Feel free to create new file, don't hesitate to pull your code, the most important thing is that the file name here must match your nickname so that file does not conflict with other people.

Primary LanguageC

C-Plus-Plus-Projects

C++ Projects is a C++ Projects library made by Open-Source Enthusiast. Feel free to create new file, don't hesitate to pull your code, the most important thing is that the file name here must match your nickname so that file does not conflict with other people.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate.

License

MIT

#Hacktoberfest 2022 #Hacktoberfest

Sort an array of 0s, 1s and 2s

// C++ program to sort an array // with 0, 1 and 2 in a single pass #include <bits/stdc++.h> using namespace std;

// Function to sort the input array, // the array is assumed // to have values in {0, 1, 2} void sort012(int a[], int arr_size) { int lo = 0; int hi = arr_size - 1; int mid = 0;

// Iterate till all the elements
// are sorted
while (mid <= hi) {
	switch (a[mid]) {

	// If the element is 0
	case 0:
		swap(a[lo++], a[mid++]);
		break;

	// If the element is 1 .
	case 1:
		mid++;
		break;

	// If the element is 2
	case 2:
		swap(a[mid], a[hi--]);
		break;
	}
}

}

// Function to print array arr[] void printArray(int arr[], int arr_size) { // Iterate and print every element for (int i = 0; i < arr_size; i++) cout << arr[i] << " "; }

// Driver Code int main() { int arr[] = { 0, 1, 1, 0, 1, 2, 1, 2, 0, 0, 0, 1 }; int n = sizeof(arr) / sizeof(arr[0]);

sort012(arr, n);

cout << "array after segregation ";

printArray(arr, n);

return 0;

}