Website Summary Files Commits Branches @commit @diff @stats
path: root / pract_SI / Pract. 05 / Solutions / task2.cpp
blob: 0d48adc3f36561b5d003b245c47d8f33553cabd7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void swap(int &a, int &b)
{
	int temp = a;
	a = b;
	b = temp;
}

void sortNumbers(int *arr, size_t size)
{
	int leftNumber = 0, rightNumber = size - 1;

	while (leftNumber < rightNumber)
	{
		while (arr[leftNumber] % 2 == 0 && leftNumber < rightNumber)
			leftNumber++;

		while (arr[rightNumber] % 2 == 1 && leftNumber < rightNumber)
			rightNumber--;

		if (leftNumber < rightNumber)
		{
			swap(arr[leftNumber], arr[rightNumber]);
			leftNumber++;
			rightNumber--;
		}
	}
}