c#按字母顺序获取下一个字符串

zan*_*ken 0 c# arrays

我有一个包含字符串的数组.我想将当前字符串与数组中的所有字符串进行比较,然后按字母顺序排列.我该怎么做呢?

澄清:字符串不按任何顺序排列.我想知道哪个索引具有下一个字母顺序的下一个字符串.例如,如果我有字符串"Bananas",我想从"Apple""Oranges"获得的下一个字符串"Bananas"将是"Oranges".

给出阵列

var fruit = new[] { "Apple", "Oranges", "Bananas" }
Run Code Online (Sandbox Code Playgroud)

我想要一个能通过这个测试的函数

Assert.AreEqual(1, NextGreatestIndex(fruit, 2))
Run Code Online (Sandbox Code Playgroud)

因为"Oranges"接下来是alphbetically "Bananas".

Dav*_*nan 5

  1. 将数组排序为所需的字母顺序.
  2. 找到该排序数组中当前字符串的索引.
  3. 返回带有下一个索引的字符串.
  4. 处理当前字符串不在数组中的边缘情况,或者当前字符串是数组的最后一个元素.

  • ...并且对于额外的点,尝试制作点2.在O(log N)中运行. (2认同)