I suspect that your tutor is referring to the problem of Line Segment Intersection, which is more complex than simply sorting the segments. You'll note that this article references the Shamos–Hoey algorithm, which uses a binary tree to store the line segments and efficiently detect intersections.
Michael is correct in that using a binary tree is pointless for a one-off sort of the line segments. However, in the context of detecting intersections, sorting followed by a search will yield quadratic performance and is not the best approach, hence why line detection algorithms use binary trees.
For example, suppose you sort your line segments along the x-axis from left to right. A naive detection algorithm would then be something like:
for (int i=0; i<segs.length - 1; ++i) {
boolean searching = true;
for (int j=i+1; j<segs.length && searching; ++j) {
if (segments overlap on x-axis) {
// Check for intersection.
} else {
// No overlap so terminate inner loop early.
// This is the advantage of having a sorted list.
searching = false;
}
}
}
Due to the doubly-nested loop the worst case is O(n^2) and occurs when all line segments overlap on the x-axis. The best case is linear and occurs when none of the segments overlap on the x-axis.
You might want to start by implementing the naive algorithm followed by one that uses a B-tree structure.