草庐IT

radix_sort

全部标签

c++ - `std::sort` 内部使用了什么魔法让它更快?

这个问题在这里已经有了答案:WhatalgorithmsdopopularC++compilersuseforstd::sortandstd::stable_sort?(2个答案)关闭9年前。我有一个简单的快速排序实现:templatevoidquicksort(IteratorTypebegin,IteratorTypeend){if(begin!=end){constautopivot=*(begin+distance(begin,end)/2);constIteratorTypesep=std::partition(begin,end,[pivot](typenameIterat

c++ - 通过 std::sort 对 C 二维数组进行排序

我有一个二维数组a[][40]。我正在尝试通过调用std::sort对其进行排序,并且我已经编写了Compare函数。但是,C++希望我有一个要排序的std::vector,而不是一个简单的数组,我希望排序后的数组是a本身,我不想创建另一个数组并将排序结果保存在那里。似乎有很多方法可以实现这一目标。我可以想到五种方法,但似乎没有一种有效且有效。1)Directlyusestd::sort(std::begin(a),std::begin(a)+something,cmp);它不起作用,因为std::begin不知道如何指向二维数组的开头。此外,即使编译它也会排序不正确,因为二维数组不是

c++ - 如何对 std::vector 进行排序但不使用 std::sort 更改特定元素?

我有一个包含正整数和-1的vector。我的问题是我想对vector进行排序,但不要仅使用std::sort来触摸-1元素(我知道其他解决方法)。例如:Input:[-1,150,190,170,-1,-1,160,180]Output:[-1,150,160,170,-1,-1,180,190]这是我解决它的想法,但没有奏效:sort(myVector.begin(),myVector.end(),[&](constint&a,constint&b)->bool{if(a==-1||b==-1)return&aMyoutputis:[-1,150,170,190,-1,-1,160,

c++ - std::sort - 是否传递了错误的比较器未定义行为?

考虑这段代码:std::sort(vec.begin(),vec.end(),[](constFoo&lhs,constFoo&rhs){return!(lhs如果lhs==rhs,lambda(lhs,rhs)和lambda(rhs,lhs)都将返回true,这违反了提供严格弱排序的要求。但是,标准是否明确将传递此类比较器标记为未定义行为? 最佳答案 警告:接下来是极端的语言律师。themostrecentdraftofthestandard的措辞在[alg.sorting]p3中是这样写的:Forallalgorithmstha

cocoa-touch - 在索引 501 处获取的对象有一个乱序的部分名称 'JOURNAL OF APPLIED PHYSICS. Objects must be sorted by section name'

我有一个包含期刊章节名称的文章数据库。一篇是《JournalofAppliedPhysics》,一篇是《JOURNALOFAPPLIEDPHYSICS》。当我使用[[NSSortDescriptoralloc]initWithKey:@"Journal"ascending:YESelector:@selector(caseInsensitiveCompare:)]要获取数据,它会给我错误消息。Thefetchedobjectatindex501hasanoutofordersectionname'JOURNALOFAPPLIEDPHYSICS.Objectsmustbesortedby

ios - 核心数据 : Sort items by index in category's set

我有一个简单的目录管理器功能,其中包含类别中的项目,除了一个项目可以在多个类别中。Item有'parents'键,它是父类别的NSSetCategory有'items'键,它是它的子项的NSOrderedSet我正在使用NSFetchedResultController及其委托(delegate)来用项目填充我的表NSFetchRequest*fetchRequest=[[NSFetchRequestalloc]init];NSEntityDescription*entity=[NSEntityDescriptionentityForName:@"Item"inManagedObjec

sorting - 在 Hadoop2 中进行基准排序时出错 - 分区不匹配

我正在尝试对Hadoop2MapReduce框架进行基准测试。它不是TeraSort。但是testmapredsort。第一步创建随机数据:hadoopjarhadoop/randomwriter-Dtest.randomwrite.bytes_per_map=100-Dtest.randomwriter.maps_per_host=10/data/unsorted-datastep-2对step-1中创建的随机数据进行排序:hadoopjarhadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jarsort/da

sorting - 如何在 Hive 中对文件进行重复数据删除并保持原始排序顺序?

我的数据已经按last_column降序和third_column降序排序。我想在保持原始排序顺序的同时,对基于last_column的数据集进行去重。所以对于每个last_column,我想要最终输出中的第一行。我需要使用Hive来实现这一点。我的数据是:10009,12/3/1959,Rodney,Purtle,M,8/28/1986,d00710010,5/1/1954,Ahishek,Kumar,M,12/1/1986,d00710011,1/21/1955,Abhilash,Whatever,M,9/12/1989,d00710016,5/1/1954,Ross,Hupchu

sorting - Hive 不区分大小写的字母排序

当我在配置单元查询中有一个“orderby”子句时,例如:SELECT*FROMcategoriesORDERBYcategory_name结果将排序为所有大写字母在前,然后是所有小写字母。我需要一些表约束或配置来强制执行以下行为。使用UPPER/LOWER排序的session无济于事。当前结果:AAAKKKZZZaaabbbyyy预期结果:aaaAAAbbbKKKyyyZZZ是否有任何配置强制配置单元首先对数据进行字母排序?在sql中,它是一个排序规则。在Oracle中,它是LTS。这种预期排序结果的正确配置是什么,在哪里设置? 最佳答案

sorting - hadoop streaming 是否在 map 和 reduce 阶段之间使用稳定的排序?

这对多阶段作业有影响。例如,如果我们在作业的第1阶段按键“a”排序,在作业的第2阶段按键“b”排序(将第1阶段的输出作为标准输入),我们是否可以假设当两个阶段完成时记录是按键“b”排序,然后按键“a”排序?出于这个问题的目的,假设映射器和缩减器不排列记录顺序。还假设reduce任务的数量为1个或更多。请记住,答案可能会因阶段1的reduce任务数量而异。例如,如果阶段1的reduce任务数量大于1,则keya将被拆分到多个文件中(尽管在相对于每个文件的排序顺序)。然而,当只有一个reduce任务时,所有值都将出现在同一个文件中,这可能是稳定性的必要条件,具体取决于实现。如果答案是肯定的