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));