C++ Program to print an Array using Recursion
Write a program in C++ to print an Array using Recursion
- Using static variable: Static variables have a property of preserving their value even after they are out of their scope! Hence, static variables preserve their previous value in their previous scope and are not initialized again in the new scope.
Syntax:
static data_type var_name = var_value;
// C++ Program to print
// an Array using Recursion
#include <bits/stdc++.h>
using
namespace
std;
// Recursive function to print the array
void
print_array(
int
arr[],
int
size)
{
// using the static variable
static
int
i;
// base case
if
(i == size) {
i = 0;
cout << endl;
return
;
}
// print the ith element
cout << arr[i] <<
" "
;
i++;
// recursive call
print_array(arr, size);
}
// Driver code
int
main()
{
int
arr[] = { 3, 5, 6, 8, 1 };
int
n =
sizeof
(arr) /
sizeof
(arr[0]);
print_array(arr, n);
return
0;
}
chevron_rightfilter_noneOutput:3 5 6 8 1
- Without using Static variable:
// C++ Program to print
// an Array using Recursion
#include <bits/stdc++.h>
using
namespace
std;
// Recursive function to print the array
void
print_array(
int
arr[],
int
size,
int
i)
{
// base case
if
(i == size) {
cout << endl;
return
;
}
// print the ith element
cout << arr[i] <<
" "
;
i++;
// recursive call
print_array(arr, size, i);
}
// Driver code
int
main()
{
int
arr[] = { 3, 5, 6, 8, 1 };
int
n =
sizeof
(arr) /
sizeof
(arr[0]);
print_array(arr, n, 0);
return
0;
}
chevron_rightfilter_noneOutput:3 5 6 8 1
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.