问题标签 [lexicographic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
86 浏览

sorting - 将排序顺序更改为 AaBbCcDd

我的 unix 系统的一个目录中有几个文件需要排序。我遇到的问题是,当使用 sort -f 命令时,它按 a A b B c C 等顺序排序。 ls 执行相同的排序。有没有办法让它先排序大写字母?即按 A a B b C c 的顺序排序...

0 投票
12 回答
9555 浏览

c++ - 按字典顺序对整数数组进行排序 C++

我想按字典顺序对大量整数(比如 1 百万元素)进行排序。

例子:

我已经使用最简单的方法完成了它:

  • 将所有数字转换为字符串(非常昂贵,因为它会占用大量内存)
  • 使用std:sortwithstrcmp作为比较函数
  • 将字符串转换回整数

还有比这更好的方法吗?

0 投票
1 回答
32 浏览

javascript - What is wrong with this sort routine?

I have an array of JavaScript objectss that have a string description. I am trying to implement a simplified sorting algorithm that will drop case, strip out HTML tags, and then strip out everything but letters and digits. I have:

At present that is consistently generating a sort order with descriptions of:

What I'd expect to happen is that it would have "Test: [a-d]" appearing in order, and then "Testing: [a-l]" appearing in order.

I'm not sure how to code something that would naturally generate this order; it doesn't match their order of creation (I think the creation times/order of "Test: [a-d]" and "Testing: [a-l]" overlap, but they were individually created in sequential order).

I am getting similar, but not identical, results if I just set the function to compare the unaltered descriptions with either < or >. At least within "Test"/"Testing", an unaltered lexicographic search should coincide with the results of the search I want. I've searched a bit through my code and not found anything else obviously tampering with the ordering of that array.

Anything jump out as wrong?

Thanks,

0 投票
1 回答
244 浏览

java - java.io.File.list() 给出不同的顺序作为按顺序创建的文件夹

java.io.File.list() 给出不同的顺序作为按顺序创建的文件夹

在创建名称为的临时文件夹时

但是当我使用 java.io.File.list() 来获取文件夹列表以按照创建文件夹的顺序进行进一步处理时,

请告诉如何获得与按顺序创建的文件夹相同的订单列表?

0 投票
2 回答
1253 浏览

c - 查找整数分区的字典顺序

对于排列,给定Nk,我有一个函数可以找到按字典顺序k排列的N。此外,给定一个 permutation perm,我有一个函数可以在 的所有排列中找到该排列的字典索引N。为此,我使用了此答案中建议的“因子分解” 。

现在我想对N. 例如,对于N=7,我希望能够在索引(左)和分区(右)之间来回切换:

我已经尝试了几件事。我想出的最好的是

这给出了以下内容:

这不太奏效,但似乎在正确的轨道上。我想出这个是因为它可以计算我必须将数字向下移动多少次(例如6,3,2go to 6,3,1,1)。但是,我不知道如何解决它,因为我不知道如何解释何时必须重新组合(例如6,3,1,1go to 6,2,2)。

0 投票
1 回答
2236 浏览

sorting - 如何按字典顺序对列表列表进行排序?

我想按字典顺序对 Haskell 列表的元素进行排序,有什么方法吗?

排序前:

排序后:

0 投票
5 回答
22932 浏览

java - Java:三个字符串,字典顺序

初学者Java程序员在这里。我正在尝试将三个字符串相互比较,并让系统按字典顺序吐出第二个/中间词。

这不会编译,并告诉我 middleString 尚未初始化。任何帮助,将不胜感激。

0 投票
3 回答
1906 浏览

java - Java - 按字典顺序查找下一个单词

请原谅我的格式错误,因为我在这里很新。我有一个 Java 作业,我必须在其中找到大于来自扫描仪的给定单词的词典最低单词,而无需将字符串按词典顺序排列。在这个例子中,给定的单词是“am”。我已经编写了下面的代码,但我有一些问题,我将在这个问题的末尾解释。

我的问题是:我必须编写一个进行计算的方法,而不是在 main 中使用该过程。此外,我必须使用一次扫描仪,我无法用相同的值初始化另一个扫描仪。

此代码工作正常,但我最难将其转换为单个功能循环方法。

PS。抱歉愚蠢的变量名称。

0 投票
1 回答
775 浏览

java - 我正在尝试按字典顺序排列矩形。(x,y,宽度,高度)

如果一个矩形具有相同的 x 值,则比较 y 值,然后检查宽度和高度等。

这就是我的逻辑完全扭曲的地方。我不知道为什么比较器在比较具有相同 x 值或 y 值的 2 个矩形时没有正确列出正确的顺序。

我的输出显示如下:

如您所见,矩形使用 x 值正确排序,但是当多个矩形具有相同的 x 值时,排序无法将它们按正确的顺序排列。我用我的 if 语句中的逻辑拉我的头发,我只需要另一双眼睛。

0 投票
3 回答
14906 浏览

c++ - 根据优先级按字典顺序对向量列表进行排序

假设我有一个字符串向量列表:

[“a”,“c”,“鸭子”]

[“a”,“a”,“f”]

[“蜜蜂”,“s”,“xy”]

[“b”,“a”,“a”]

我想以这种方式对向量进行排序:

首先根据索引 0 处的元素按字典顺序排序,如果存在平局,则将根据索引 1 处的元素按字典顺序进行排序,如果存在另一个平局,则根据索引处的元素按字典顺序确定2.

所以上面的列表经过排序后会如下:

[“a”,“a”,“f”]

[“a”,“c”,“鸭子”]

[“b”,“a”,“a”]

[“蜜蜂”,“s”,“xy”]

如何实现标准库 sort() 函数来编写根据上述描述对向量列表进行排序的方法?我正在使用 C++。谢谢。

一旦知道每个向量的长度,编写比较函数就不难了。但是如果我不知道向量的长度(但我总是知道它们的长度相同)怎么办?长度为 3 的向量的比较函数:

因此对于长度为 n 的向量,将有 n 个 if 语句。但是我怎样才能将 if 语句的数量保持为变量呢?

这个怎么样:

}

然后我可以调用标准排序函数:

这行得通吗?谢谢。