# Sorted order printing of a given array that represents a BST

Given an array that stores a complete Binary Search Tree, write a function that efficiently prints the given array in ascending order.

For example, given an array [4, 2, 5, 1, 3], the function should print 1, 2, 3, 4, 5

Solution:
Inorder traversal of BST prints it in ascending order. The only trick is to modify recursion termination condition in standard Inorder Tree Traversal.

Implementation:

## C

```#include<stdio.h>

void printSorted(int arr[], int start, int end)
{
if(start > end)
return;

// print left subtree
printSorted(arr, start*2 + 1, end);

// print root
printf("%d  ", arr[start]);

// print right subtree
printSorted(arr, start*2 + 2, end);
}

int main()
{
int arr[] = {4, 2, 5, 1, 3};
int arr_size = sizeof(arr)/sizeof(int);
printSorted(arr, 0, arr_size-1);
getchar();
return 0;
}
```

## Java

```// JAVA Code for Sorted order printing of a
// given array that represents a BST
class GFG{

private static void printSorted(int[] arr, int start,
int end) {
if(start > end)
return;

// print left subtree
printSorted(arr, start*2 + 1, end);

// print root
System.out.print(arr[start] + " ");

// print right subtree
printSorted(arr, start*2 + 2, end);
}

// driver program to test above function
public static void main(String[] args) {
int arr[] = {4, 2, 5, 1, 3};

printSorted(arr, 0, arr.length-1);
}
}

// This code is contributed by Arnav Kr. Mandal.

```

Output:

```1 2 3 4 5
```

Time Complexity: O(n)

Please write comments if you find the above solution incorrect, or find better ways to solve the same problem.

# GATE CS Corner    Company Wise Coding Practice

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.
2.3 Average Difficulty : 2.3/5.0
Based on 110 vote(s)