ZigZag Traversal of array

ZigZag Traversal of array based on a given pattern to follow.

by Bharat Gupta

JavaScript

var arr = [4, 3, 7, 8, 6, 2, 1];

var swap = function(a, p1, p2){
	var temp = a[p1];
  a[p1] = a[p2];
  a[p2] = temp;
};

var zigZag = function(input){
	// Flag true indicates relation "<" is expected,
  // else ">" is expected.  The first expected relation is "<"
  var flag = true;
  for(var i=0; i<=input.length-2; i++){
  	if(flag){
    	if(input[i] > input[i+1])
      	swap(input, i, i+1)
    }
    else{
    	if(input[i] < input[i+1])
      	swap(input, i, i+1)
    }
    
    flag = !flag;
  }
  
  return input;
};

console.log(zigZag(arr));