Q:

Write a Scala program to rearrange a given array of unique elements such that every second element of the array is greater than its left and right elements

0

Write a Scala program to rearrange a given array of unique elements such that every second element of the array is greater than its left and right elements.

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

object Scala_Array {

  def rearrange_Array_nums(nums: Array[Int]): Array[Int] = {
    var t_nums = 0;
    for (i <- 1 to nums.length - 1 by 2) {
      if (nums(i - 1) > nums(i)) {
        t_nums = nums(i - 1);
        nums(i - 1) = nums(i);
        nums(i) = t_nums;
      }

      if (i + 1 < nums.length && nums(i + 1) > nums(i)) {
        t_nums = nums(i + 1);
        nums(i + 1) = nums(i);
        nums(i) = t_nums;
      }
    }
    nums;
  }

  def main(args: Array[String]): Unit = {
    val nums = Array(1, 2, 4, 9, 5, 3, 8, 7, 10, 12, 14);
    println("Original array:")
    for (x <- nums) {
      print(s"${x}, ")
    }
    val result = rearrange_Array_nums(nums)
    println(
      "\nArray with every second element is greater than its left and right elements:"
    )
    for (x <- result) {
      print(s"${x}, ")
    }
  }
}

Sample Output:

Original array:
1, 2, 4, 9, 5, 3, 8, 7, 10, 12, 14, 
Array with every second element is greater than its left and right elements:
1, 4, 2, 9, 3, 8, 5, 10, 7, 14, 12,

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

Similar questions


need a help?


find thousands of online teachers now