# what is the difference between partial_sort and n_th_element?

P

#### puzzlecracker

NOT SURE WHEN TO USE WHICH

I

#### Ian Collins

B

puzzlecracker said:
NOT SURE WHEN TO USE WHICH

Using partial_sort will actually sort the first part of the sequence,
nth_element will not. It just separates the elements in "before" and
"after", but in no particular order.

P

#### PeterAPIIT

Using partial_sort will actually sort the first part of the sequence,
nth_element will not. It just separates the elements in "before" and
"after", but in no particular order.

Can you explain with example ?

Z

#### Zeppe

Can you explain with example ?

sequence = [5 6 3 2 4 5 6 7];
|
nth

if I do partial_sort with n = 4, the elements 0,..,4 (before and
including position n) will be sorted, the 5,..,7 will not be
necessarily, that is, a possible outcome is:
[2 3 4 5 5 6 7 6]
|
nth

if I do nth_element, not even the elements strictly before position n
will be sorted, but they will be all less or equal to the nth. A
possible outcome is:
[2 4 5 3 5 6 7 6]
|
nth

If you have full-sort, every element is in its "sorted" position. If you
have partial sort, the first n elements will be in their sorted
position. If you have nth_element, only the nth element is in its sorted
position.

Best wishes,

Zeppe