What are the critical operations of both versions of theinsertion sort algorithm? Number of time elements are shifted?Explain in paragraph form.
Recursive Version
private int[] recursive(int[] list, int n) {
int j;
if (n > 0) {
recursive(list,n – 1);
int x =list[n];
for (j = n – 1;j >= 0 && list[j] > x; j–) {
list[j + 1] = list[j];
count++;
}
list[j + 1] =x;
}
return list;
}
Iterative Version
public void iterativeSort(int[] list) throws UnsortedException{
count = 0;
time
OR
OR