我正在努力编写一种排序算法,可以按字典顺序(字母顺序)对单词中的字符进行排序,如下所示
字典的单词: - 污染
字典顺序
排序文本索引
------------------ ----------
胺化0
1 污染2
ination 3
离子4
mination 5
n 6
国家7 ntamination 8
9月9日 污染10
tamination 11
第12页
有没有人可以帮忙在C#或VB.NET中编写一个伪代码/或实现,如何对上述单词进行字典排序?
答案 0 :(得分:6)
你可以这样做:
var parts = new List<string>();
for (int i = 0; i < word.Length; i++)
parts.Add(word.Substring(i));
parts.Sort();
输出应该符合您的预期。
答案 1 :(得分:3)
string str = "contamination";
IEnumerable<string> sortedSubstrings =
Enumerable.Range(0, str.Length)
.Select(i => str.Substring(i))
.OrderBy(s => s);
答案 2 :(得分:1)
试试这个:
dpkg -i ubuntu14_CloudBerryLab_CloudBerryBackup_v1.10.0.112_20161110193906.deb
答案 3 :(得分:0)
默认的C#排序功能按字典顺序对字符串进行排序,因此在您的情况下:
YourList.Sort();
应该这样做,如果你想自定义排序功能,你可以将一个函数传递给Sort方法:
YourList.Sort((a, b) => SomeSortingFunction(a,b));
当您编写SomeSortingFunction时,如果a在b之前,请确保它返回负值,如果a在b之后则为正值,如果它们相等则返回零。