C# 在.net中按字母顺序对字符串列表进行排序
如何在不使用任何内置函数(如sort)的情况下,在dotnet中按字母顺序对单词列表进行排序 如果我有一个单词列表:你好,真棒,酷,等等 输出:真棒,酷,你好,东西 我也不想使用LINQ您可以使用快速排序:C# 在.net中按字母顺序对字符串列表进行排序,c#,.net,C#,.net,如何在不使用任何内置函数(如sort)的情况下,在dotnet中按字母顺序对单词列表进行排序 如果我有一个单词列表:你好,真棒,酷,等等 输出:真棒,酷,你好,东西 我也不想使用LINQ您可以使用快速排序: static int partition(string[] arr, int start, int end) { int pivot = end; int i = start, j = end; string temp;
static int partition(string[] arr, int start, int end) {
int pivot = end;
int i = start, j = end;
string temp;
while (i < j) {
while (i < end && string.Compare(arr[i], arr[pivot]) < 0)
i++;
while (j > start && string.Compare(arr[j], arr[pivot]) > 0)
j--;
if (i < j) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
temp = arr[pivot];
arr[pivot] = arr[j];
arr[j] = temp;
return j;
}
static void quicksort(string[] arr, int start, int end) {
if (start < end) {
int pivotIndex = partition(arr, start, end);
quicksort(arr, start, pivotIndex - 1);
quicksort(arr, pivotIndex + 1, end);
}
}
static void Main(string[] args) {
string[] arr = { "Hello", "Awesome", "Cool", "Stuff" };
quicksort(arr, 0, arr.Length - 1);
foreach (string s in arr) {
Console.Write(s + " ");
}
Console.ReadKey();
}
静态int分区(字符串[]arr,int start,int end){
int pivot=结束;
int i=开始,j=结束;
字符串温度;
而(istart&&string.Compare(arr[j],arr[pivot])>0)
j--;
if(i
来源:。我已将
int
更改为string
快速排序的可能重复@Sajeetharan OP不想使用任何内置设备functions@YijieShenOP不想使用任何内置函数。这很奇怪,但我找不到任何类似的问题(排序+C#+字符串+从头开始)。