stable-sort

    2热度

    3回答

    可能重复: Stabilizing the standard library qsort? 是否有可能只是通过修改我的补偿运算,使为整数的qsort稳定吗?这是我的代码。我正在使用这个大小约为5-7的小数组。 static int compare(const void *a, const void *b) { const int A(*(const int*)(a)); co

    57热度

    3回答

    Array.sort在不同浏览器中的稳定性如何?我知道ECMA脚本规范没有指定使用哪种算法,也没有指定排序是否应该稳定。 我在Firefox的 https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/sort 中发现了这个信息,它指定firefox使用稳定的排序。 有没有人知道IE 6/

    0热度

    1回答

    这对多阶段工作有影响。例如,如果我们在作业的阶段1中按键“a”,并在作业的阶段2(以阶段1输出为标准输入)输出关键字“b”,那么我们可以假设两个阶段完成时记录是按键“b”排序,然后按键“a”排序?为了这个问题的目的,假设映射器和简化器不排列记录顺序。还假设减少任务的数量是1或更多。 请记住,答案可能会因阶段1的减少任务的数量而异。例如,如果阶段1的减少任务的数量大于1,则密钥a将被分割到多个文件中

    0热度

    3回答

    我只是读正式Lua documentation on Table.sort,发现它说: “[Table.sort]算法并不稳定;也就是说,要素审议了给定的顺序可以有自己的相对位置改变等于按排序“。 Table.sort在Lua会变得稳定吗?

    1热度

    1回答

    我想排序一个整数值列表,但在排序它们之前,我应该将它们分成一个数字N.所以我将有一些重复的键,我将在这个重复的stable_sort中使用名单。 我的问题是,哪个更好,要么分割所有的值,并将分割的值存储在一个列表中,然后执行排序,或使用transform_iterator?正在使用transform_iterator将排序算法从radix_sort更改为merge_sort,因为它们有巨大的时间差

    3热度

    1回答

    我需要从多个来源创建一个不同的历史项目列表,其中最近的项目是保存的项目。我正在尝试这样的事情,但由于问题域,检查结果是否准确并不简单。 Function GetUnique { param($source1, $source2, ...) $items = $source1 + $source2 + ...; $unique = $items | Sort-Obj

    1热度

    1回答

    我已经定义了一个结构ABC来包含一个int ID,字符串名称,字符串LAST_NAME; 我的程序是这样的:从输入文件中读入一行。将每行解析为名字和姓氏,并插入到ABC结构中。而且,结构的ID由输入行的编号给出。 然后,将结构push_back到一个向量masterlist中。我也将这些散列表定义为矢量< vector>,使用名和姓作为关键字。也就是说, 如果我的数据是: 加菲猫 史努比狗 猫眼看

    5热度

    3回答

    考虑以下问题。 我们给出了一组属于两个类的元素:红色或蓝色。我们必须重新排列数组的元素,以便所有的蓝色元素都会先出现(并且所有的红色元素都会跟随)。重新排列必须以稳定的方式完成,这意味着必须保留蓝色元素的相对顺序(对于红色元素相同)。 有没有一种巧妙的算法可以在原地执行上述重新布置? 非就地解决方案当然很简单。 一个明显的就地解决方案是将任何稳定的排序算法应用到数组。但是,直观地在阵列上使用完整的

    4热度

    1回答

    .NET中是否有任何内置的稳定排序例程? 我知道C++在“算法”std::sort()下有一个内置的排序例程。同样,我们有什么与C#一起使用吗? 此外,.NET中是否有任何内置交换函数?

    9热度

    4回答

    我使用TList/TObjectList和TStringList(与关联的对象)执行大量任务,或者作为更复杂结构的基础。尽管排序功能通常足够好,但我有时需要执行排序,并且这两个列表都使用快速排序。 对TList和/或TStringList实现稳定排序最简单的方法是什么?我是否必须编写自己的排序例程,或者可以通过使用TStringListSortCompare/TListSortCompare的一些