String 在下面的示例中,您将如何对字符串进行排序?
所以我有一个字符串列表String 在下面的示例中,您将如何对字符串进行排序?,string,sorting,String,Sorting,所以我有一个字符串列表 {test,testertest,testing,tester,testingtest} 我想按降序排列。。一般来说,如何对字符串进行排序?它是基于长度还是逐个字符??? 在上面的例子中会是怎样的??我想用降序的方式对它们进行排序。我想这样排序: 测试测试 测试 测试者测试 测试仪 测试我将按如下方式对其进行排序: 测试测试 测试 测试者测试 测试仪 测试假设C# 这并不总是一种理想的方法—您可以实现一个自定义比较器—但对于您所问的一个简单示例,这可能是最符合逻辑的方法#
{test,testertest,testing,tester,testingtest}
我想按降序排列。。一般来说,如何对字符串进行排序?它是基于长度还是逐个字符???
在上面的例子中会是怎样的??我想用降序的方式对它们进行排序。我想这样排序: 测试测试
测试
测试者测试
测试仪
测试
我将按如下方式对其进行排序: 测试测试
测试
测试者测试
测试仪
测试
假设C# 这并不总是一种理想的方法—您可以实现一个自定义比较器—但对于您所问的一个简单示例,这可能是最符合逻辑的方法#
这并不总是一种理想的方法—您可以实现一个自定义比较器—但是对于您询问的一个简单示例,这可能是最符合逻辑的方法。在Java中,您可以使用自然排序
java.util.Collections.sort(list);
飞机降落了
java.util.Collections.reverse(list);
或者创建自己的
比较器
来进行反向排序。在Java中,您可以对
java.util.Collections.sort(list);
飞机降落了
java.util.Collections.reverse(list);
或者创建您自己的
比较器
来进行反向排序。无论您使用何种语言,都有一个内置的排序
函数,它执行
['test','tester','testertest','testing','testingtest']
以你为例。如果我想把它颠倒过来,我只想用Python说reversed(sorted(myList))
,然后就完成了。如果你向右看,你会看到很多相关的问题需要一种更专业的排序方法(对于数字、日期等),但字典顺序适用于包含任何类型数据的字符串
下面是它的工作原理:
compare(string A, string B):
if A and B are both non-empty:
if A[0] == B[0]:
// First letters are the same; compare by the rest
return compare(A[1:], B[1:])
else:
// Compare the first letters by Unicode code point
return compare(A[0], B[0])
else:
// They were equal till now; the shorter one shall be sorted first
return compare(length of A, length of B)
无论您使用哪种语言,都有一个内置的
sort
函数,它执行
['test','tester','testertest','testing','testingtest']
以你为例。如果我想把它颠倒过来,我只想用Python说reversed(sorted(myList))
,然后就完成了。如果你向右看,你会看到很多相关的问题需要一种更专业的排序方法(对于数字、日期等),但字典顺序适用于包含任何类型数据的字符串
下面是它的工作原理:
compare(string A, string B):
if A and B are both non-empty:
if A[0] == B[0]:
// First letters are the same; compare by the rest
return compare(A[1:], B[1:])
else:
// Compare the first letters by Unicode code point
return compare(A[0], B[0])
else:
// They were equal till now; the shorter one shall be sorted first
return compare(length of A, length of B)
在计算机科学中,字符串通常按字符进行排序,首选排序顺序为(对于标准英文字符集):
- 首先是空字符
- 接着是whitepsace
- 后面是符号
- 后跟数字字符,数字顺序明显
- 按明显的字母顺序后跟字母字符
测试er 然后,“tester”将位于“testing”之前-字符串中的第一个不同字符是第五个字符,“e”位于“i”之前 同样,如果我们要比较: 测试
测试 然后在本例中,“test”将首先出现-字符串再次相同,直到第5个字符,其中字符串“test”结束(即没有字符),该字符变为任何字母数字字符之前 请注意,在处理数字时,这可能会产生一些反直觉的结果-例如,尝试对字符串“50”和“100”进行排序-您会发现“100”出现在“50”之前。为什么?因为字符串在字符1处不同,“5”在“1”之后 在几乎所有语言中,都有一个函数可以为您完成上述所有操作! 您应该使用该函数,而不是自己尝试对字符串排序!例如:
// C#
string[] myStrings = {"test","testertest","testing","tester","testingtest"};
Array.Sort(myStrings);
在计算机科学中,字符串通常按字符进行排序,首选排序顺序为(对于标准英文字符集):
- 首先是空字符
- 接着是whitepsace
- 后面是符号
- 后跟数字字符,数字顺序明显
- 按明显的字母顺序后跟字母字符
测试er 然后,“tester”将位于“testing”之前-字符串中的第一个不同字符是第五个字符,“e”位于“i”之前 同样,如果我们要比较: 测试
测试 然后在本例中,“test”将首先出现-字符串再次相同,直到第5个字符,其中字符串“test”结束(即没有字符),该字符变为任何字母数字字符之前 请注意,在处理数字时,这可能会产生一些反直觉的结果-例如,尝试对字符串“50”和“100”进行排序-您会发现“100”出现在“50”之前。为什么?因为字符串在字符1处不同,“5”在“1”之后 在几乎所有语言中,都有一个函数可以为您完成上述所有操作! 您应该使用该函数,而不是自己尝试对字符串排序!例如:
// C#
string[] myStrings = {"test","testertest","testing","tester","testingtest"};
Array.Sort(myStrings);
当比较两个字符串以查看哪一个先排序时,通常会逐个字符进行比较。如果第一个位置的字符(例如示例中的
t
)相同,则移动到下一个字符。当两个字符不同时,该“可能”定义哪个字符串被视为“更大”
但是,根据所使用的语言环境和许多其他因素,比较的两个字符串中的后面字符可能会覆盖前面字符中的差异。例如,在一些校勘中,字母上的变音符号被认为是次要的。因此,后面字符中的主要差异可以覆盖次要差异