Consider the code given below, which runs insertion sort: void…

2024

Consider the code given below, which runs insertion sort:

void insertionSort(int arr[], int array_size)

{

int i, j, value;

for (i = 1; i < array_size; i++)

{

value = arr[i];

j = i;

while (________ )

{

arr[j] = arr[j − 1];

j = j − 1;

}

arr[j] = value;

}

}

Which condition will correctly implement the while loop?

  1. A.

    (j > 0) || (arr[j − 1] > value)

  2. B.

    (j > 0) && (arr[j − 1] > value)

  3. C.

    (j > 0) && (arr[j + 1] > value)

  4. D.

    (j > 0) && (arr[j + 1] < value)

Attempted by 185 students.

Show answer & explanation

Correct answer: B

Answer: b

Explanation: In insertion sort, the element is A[j] is inserted into the correct position in the sorted sequence A[1… j – 1]. So, condition given in (j > 0) && (arr[j − 1] > value) will implement while loop correctly.

Explore the full course: Coding For Placement