Menu Close

Sort the array into a wave like array.

Given an unsorted array of integers, sort the array into a wave like array. An array ‘arr[0..n-1]’ is sorted in wave form if arr[0] >= arr[1] <= arr[2] >= arr[3] <= arr[4] >= …..

Input:  arr[] = {10, 5, 6, 3, 2, 20, 100, 80}
Output: arr[] = {10, 5, 6, 2, 20, 3, 100, 80} OR
                 {20, 5, 10, 2, 80, 6, 100, 3} OR
                 any other array that is in wave form

Input:  arr[] = {20, 10, 8, 6, 4, 2}
Output: arr[] = {20, 8, 10, 4, 6, 2} OR
                 {10, 8, 20, 2, 6, 4} OR
                 any other array that is in wave form
def sortwave(L):
    n=len(L)
    L.sort()
    for i in range(0,n-1,2):
    	L[i], L[i+1] = L[i+1], L[i]
 
Array_nums = list(map(int,input('Array_nums : ').split(',')))
sortwave(Array_nums)
print(Array_nums)

Input_1:
Array_nums : 10,90,49,2,1,5,23

Output:
[2, 1, 10, 5, 49, 23, 90]


Input_2:
Array_nums : 10,5,6,3,2,20,100,80

Output:
[3, 2, 6, 5, 20, 10, 100, 80]


Input_3:
Array_nums : 20,10,8,6,4,2

Output:
[4, 2, 8, 6, 20, 10]


Input_4:
Array_nums : 2,4,6,8,10,20

Output:
[4, 2, 8, 6, 20, 10]


Input_5:
Array_nums : 3,6,5,10,7,20

Output:
[5, 3, 7, 6, 20, 10]


Illustration of the execution of code

Executed using terminal(Ubuntu) python3

More Q