• <i id='9YBO6'><tr id='9YBO6'><dt id='9YBO6'><q id='9YBO6'><span id='9YBO6'><b id='9YBO6'><form id='9YBO6'><ins id='9YBO6'></ins><ul id='9YBO6'></ul><sub id='9YBO6'></sub></form><legend id='9YBO6'></legend><bdo id='9YBO6'><pre id='9YBO6'><center id='9YBO6'></center></pre></bdo></b><th id='9YBO6'></th></span></q></dt></tr></i><div id='9YBO6'><tfoot id='9YBO6'></tfoot><dl id='9YBO6'><fieldset id='9YBO6'></fieldset></dl></div>
    <tfoot id='9YBO6'></tfoot>

    <small id='9YBO6'></small><noframes id='9YBO6'>

      • <bdo id='9YBO6'></bdo><ul id='9YBO6'></ul>

      <legend id='9YBO6'><style id='9YBO6'><dir id='9YBO6'><q id='9YBO6'></q></dir></style></legend>
      1. 使用 std::sort 对集合进行排序

        时间:2024-05-12
        <tfoot id='Bw85Q'></tfoot>

          <legend id='Bw85Q'><style id='Bw85Q'><dir id='Bw85Q'><q id='Bw85Q'></q></dir></style></legend>
              <tbody id='Bw85Q'></tbody>
              <bdo id='Bw85Q'></bdo><ul id='Bw85Q'></ul>
              <i id='Bw85Q'><tr id='Bw85Q'><dt id='Bw85Q'><q id='Bw85Q'><span id='Bw85Q'><b id='Bw85Q'><form id='Bw85Q'><ins id='Bw85Q'></ins><ul id='Bw85Q'></ul><sub id='Bw85Q'></sub></form><legend id='Bw85Q'></legend><bdo id='Bw85Q'><pre id='Bw85Q'><center id='Bw85Q'></center></pre></bdo></b><th id='Bw85Q'></th></span></q></dt></tr></i><div id='Bw85Q'><tfoot id='Bw85Q'></tfoot><dl id='Bw85Q'><fieldset id='Bw85Q'></fieldset></dl></div>

                1. <small id='Bw85Q'></small><noframes id='Bw85Q'>

                  本文介绍了使用 std::sort 对集合进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我想知道我们是否可以对预先创建的集合进行排序.当我第一次创建集合 s_p2 时,我使用不同的元素 point.getLength() 进行排序.但在用户输入后,我想根据 x 值 point.getX() 对项目进行排序.我该怎么做?

                  I would like to know if we can sort a pre created set. When I first create the set s_p2, I sort using a different element point.getLength(). but after user input i would like to sort the items according to the x value point.getX(). How i do this ?

                  set container 好像没有排序功能.我被建议使用矢量.但是集合只能存储唯一元素.

                  It seems like set container does not have a sort function. And i am advised to use vector. But sets are able to store unique elements only.

                  Q1:如何根据条件对集合进行排序

                  Q1: How can i sort a set depending on the criteria

                  Q2:如果 set 无法做到这一点,那么哪个 STL 容器是最佳选择,我该如何对容器中的元素进行排序.

                  Q2: If set is unable to do this than which STL container is the best choice and how can i sort the elements in the container.

                  推荐答案

                  您不能使用 set,它的排序方式是特定 set 类型的一部分.给定的 set 具有固定的集合顺序,无法更改.

                  You cannot resort a set, how it sorts is part of the type of the particular set. A given set has a fixed set order that cannot be changed.

                  您可以相对容易地使用相同的数据创建一个新的set.只需创建一个新的 set,根据新标准进行排序.

                  You could create a new set with the same data relatively easily. Just create a new set that sorts based on the new criteria.

                  如果你想在同一个代码中使用两个set,你必须抽象对底层set的访问.

                  If you want to use the two sets in the same code, you'll have to abstract the access to the underlying set.

                  现在,如果您正在执行罕见的读取和修改,使用手动排序的 vector 通常是一个更好的主意.您可以使用 std::unique-erase 习惯用法删除重复项.

                  Now, if you are doing rare reads and modifications, using a vector that you sort manually is often a better idea. You can remove duplicates by using the std::unique-erase idiom.

                  这篇关于使用 std::sort 对集合进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:为什么从 C++11 中删除了 unary_function、binary_function? 下一篇:为什么不能将前向声明用于 std::vector?

                  相关文章

                    <bdo id='ffWWt'></bdo><ul id='ffWWt'></ul>

                  <tfoot id='ffWWt'></tfoot>
                  1. <legend id='ffWWt'><style id='ffWWt'><dir id='ffWWt'><q id='ffWWt'></q></dir></style></legend>

                  2. <small id='ffWWt'></small><noframes id='ffWWt'>

                  3. <i id='ffWWt'><tr id='ffWWt'><dt id='ffWWt'><q id='ffWWt'><span id='ffWWt'><b id='ffWWt'><form id='ffWWt'><ins id='ffWWt'></ins><ul id='ffWWt'></ul><sub id='ffWWt'></sub></form><legend id='ffWWt'></legend><bdo id='ffWWt'><pre id='ffWWt'><center id='ffWWt'></center></pre></bdo></b><th id='ffWWt'></th></span></q></dt></tr></i><div id='ffWWt'><tfoot id='ffWWt'></tfoot><dl id='ffWWt'><fieldset id='ffWWt'></fieldset></dl></div>