using System;
public class Program
{
static void Swap<T> (ref T a, ref T b) {
T temp = a;
a = b;
b = temp;
}
private static void SortArrayIntoZigZagPattern(int[] arr) {
bool small = true;
int size = arr.Length;
for (int i = 0; i <= size - 2; i++) {
if (small) {
if (arr[i] > arr[i + 1]) {
Swap(ref arr[i], ref arr[i + 1]);
}
}
else {
if (arr[i] < arr[i + 1]) {
Swap(ref arr[i], ref arr[i + 1]);
}
}
small = !small;
}
}
public static void Main(string[] args)
{
// a < b > c < d > e < f > g...
// 3 < 5 > 1 < 9 > 6 < 7 > 2 < 4
int[] arr = new int[] {3, 5, 1, 7, 9, 6, 4, 2};
SortArrayIntoZigZagPattern(arr);
Console.WriteLine(String.Join(" ", arr));
}
}
/*
run:
3 5 1 9 6 7 2 4
*/