Write a recursive function that returns 1 if an array of size n is in sorted order and 0 otherwise. Note: If array a stores 3, 6, 7, 7, 12, then isSorted(a, 5) should return 1 . If array b stores 3, 4, 9, 8, then isSorted(b, 4) should return 0.

Respuesta :

Answer:

The function in C++ is as follows:

int isSorted(int ar[], int n){

if ([tex]n == 1[/tex] || [tex]n == 0[/tex]){

 return 1;}

if ([tex]ar[n - 1][/tex] < [tex]ar[n - 2][/tex]){

 return 0;}

return isSorted(ar, n - 1);}

Explanation:

This defines the function

int isSorted(int ar[], int n){

This represents the base case; n = 1 or 0 will return 1 (i.e. the array is sorted)

if ([tex]n == 1[/tex] || [tex]n == 0[/tex]){

 return 1;}

This checks if the current element is less than the previous array element; If yes, the array is not sorted

if ([tex]ar[n - 1][/tex] < [tex]ar[n - 2][/tex]){

 return 0;}

This calls the function, recursively

return isSorted(ar, n - 1);

}