Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,885 questions

51,811 answers

573 users

How to sort array into zig zag pattern (a < b > c < d > e < f > g) in C#

2 Answers

0 votes
using System;

public class Program
{
	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]) {
					int temp = arr[i];
					arr[i] = arr[i + 1];
					arr[i + 1] = temp;
				}
			}
			else {
				if (arr[i] < arr[i + 1]) {
					int temp = arr[i];
					arr[i] = arr[i + 1];
					arr[i + 1] = temp;
				}
			}
			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
 
*/



 



answered Nov 5, 2022 by avibootz
0 votes
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
 
*/

 



answered Nov 5, 2022 by avibootz
...