what is the difference between partial_sort and n_th_element?

Discussion in 'C++' started by puzzlecracker, Oct 12, 2008.

  1. NOT SURE WHEN TO USE WHICH
     
    puzzlecracker, Oct 12, 2008
    #1
    1. Advertisements

  2. puzzlecracker

    Ian Collins Guest

    Which what?
     
    Ian Collins, Oct 12, 2008
    #2
    1. Advertisements

  3. puzzlecracker

    Bo Persson Guest

    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.


    Bo Persson
     
    Bo Persson, Oct 12, 2008
    #3
  4. puzzlecracker

    PeterAPIIT Guest


    Can you explain with example ?
     
    PeterAPIIT, Oct 13, 2008
    #4
  5. puzzlecracker

    Zeppe Guest

    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
     
    Zeppe, Oct 13, 2008
    #5
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.